重新加载站点的 onClick 和 onChange
onClick and onChange with a Site reload
我在 onchange="this.form.submit()"
上制作了一个公式,在 window.location.replace();
上制作了一个自动页面刷新功能。我的问题是,我需要知道用户上次点击的位置。我的解决方案是第二个 onclick="" 事件以获取所选字段的 ID。如果我不对表格进行任何更改,这就可以正常工作。当我更改一些值并转到另一个字段时,onclick 函数不起作用。
我怎么解决这个问题?顺便说一下,抱歉我的英语不好。
<input name="'.$idname.'" value="'.$cont_field.'" type="text" class="loginField" size="'.$breite.'" style="width:98%;" id="'.$idname.'" onchange="this.form.submit()" onclick="focusCookie(event)">
<script type="text/javascript">
function focusCookie (event) {
event = event || window.event;
var target = event.target || event.srcElement;
var anch = target.id;
createCookie("anchor", anch, new Date(new Date().getTime() + 10000));
}
function createCookie(name, value, expires, path, domain) {
var cookie = name + "=" + escape(value) + ";";
if (expires) {
if(expires instanceof Date) {
if (isNaN(expires.getTime()))
expires = new Date();
}
else
expires = new Date(new Date().getTime() + parseInt(expires) * 1000 * 60 * 60 * 24);
cookie += "expires=" + expires.toGMTString() + ";";
}
if (path)
cookie += "path=" + path + ";";
if (domain)
cookie += "domain=" + domain + ";";
document.cookie = cookie;
}
</script>
这是加载函数
//--> Loaders
function Loader($https_url,$seite,$loader_id){
$loaderurl = '<script type="text/javascript">window.location.replace("'.$https_url.'/index.php?inhalt=extranet&extra=formular&seite='.$seite.'#'.$loader_id).'");</script>';
return $loaderurl;
}
好的 2 个问题已解决,还有 1 个问题悬而未决。我可以发送表格并捕获之前的锚标记。但是在 Siteload 之后 focus();丢失了...
这是我的代码:
<script type="text/javascript">
function submitform (event) {
event = event || window.event;
var target = event.target || event.srcElement;
var anch = target.id;
createCookie("anchor", anch, new Date(new Date().getTime() + 10000));
sendeForm();
document.getElementById(anch).reload();
}
function createCookie(name, value, expires, path, domain) {
var cookie = name + "=" + escape(value) + ";";
if (expires) {
if(expires instanceof Date) {
if (isNaN(expires.getTime()))
expires = new Date();
}
else
expires = new Date(new Date().getTime() + parseInt(expires) * 1000 * 60 * 60 * 24);
cookie += "expires=" + expires.toGMTString() + ";";
}
if (path)
cookie += "path=" + path + ";";
if (domain)
cookie += "domain=" + domain + ";";
document.cookie = cookie;
}
function sendeForm(){
document.getElementById("ID").submit();
}
</script>
我通过使用 XMLHttpRequest 发送数据,用 AJAX 表单解决了这个问题。这很好用。变量是用 PHP.
生成的
function ajax_post(){
//Vars
var xhr = new XMLHttpRequest();
var url = 'URL';
<?php echo $VARLIST; ?>
var ausgabe = <?php echo $VARS; ?>;
//Send
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var return_data = xhr.responseText;
document.getElementById("Register").innerHTML = return_data;
}
}
xhr.send(ausgabe);
document.getElementById("Register").innerHTML = "Reload..";
}
我在 onchange="this.form.submit()"
上制作了一个公式,在 window.location.replace();
上制作了一个自动页面刷新功能。我的问题是,我需要知道用户上次点击的位置。我的解决方案是第二个 onclick="" 事件以获取所选字段的 ID。如果我不对表格进行任何更改,这就可以正常工作。当我更改一些值并转到另一个字段时,onclick 函数不起作用。
我怎么解决这个问题?顺便说一下,抱歉我的英语不好。
<input name="'.$idname.'" value="'.$cont_field.'" type="text" class="loginField" size="'.$breite.'" style="width:98%;" id="'.$idname.'" onchange="this.form.submit()" onclick="focusCookie(event)">
<script type="text/javascript">
function focusCookie (event) {
event = event || window.event;
var target = event.target || event.srcElement;
var anch = target.id;
createCookie("anchor", anch, new Date(new Date().getTime() + 10000));
}
function createCookie(name, value, expires, path, domain) {
var cookie = name + "=" + escape(value) + ";";
if (expires) {
if(expires instanceof Date) {
if (isNaN(expires.getTime()))
expires = new Date();
}
else
expires = new Date(new Date().getTime() + parseInt(expires) * 1000 * 60 * 60 * 24);
cookie += "expires=" + expires.toGMTString() + ";";
}
if (path)
cookie += "path=" + path + ";";
if (domain)
cookie += "domain=" + domain + ";";
document.cookie = cookie;
}
</script>
这是加载函数
//--> Loaders
function Loader($https_url,$seite,$loader_id){
$loaderurl = '<script type="text/javascript">window.location.replace("'.$https_url.'/index.php?inhalt=extranet&extra=formular&seite='.$seite.'#'.$loader_id).'");</script>';
return $loaderurl;
}
好的 2 个问题已解决,还有 1 个问题悬而未决。我可以发送表格并捕获之前的锚标记。但是在 Siteload 之后 focus();丢失了...
这是我的代码:
<script type="text/javascript">
function submitform (event) {
event = event || window.event;
var target = event.target || event.srcElement;
var anch = target.id;
createCookie("anchor", anch, new Date(new Date().getTime() + 10000));
sendeForm();
document.getElementById(anch).reload();
}
function createCookie(name, value, expires, path, domain) {
var cookie = name + "=" + escape(value) + ";";
if (expires) {
if(expires instanceof Date) {
if (isNaN(expires.getTime()))
expires = new Date();
}
else
expires = new Date(new Date().getTime() + parseInt(expires) * 1000 * 60 * 60 * 24);
cookie += "expires=" + expires.toGMTString() + ";";
}
if (path)
cookie += "path=" + path + ";";
if (domain)
cookie += "domain=" + domain + ";";
document.cookie = cookie;
}
function sendeForm(){
document.getElementById("ID").submit();
}
</script>
我通过使用 XMLHttpRequest 发送数据,用 AJAX 表单解决了这个问题。这很好用。变量是用 PHP.
生成的 function ajax_post(){
//Vars
var xhr = new XMLHttpRequest();
var url = 'URL';
<?php echo $VARLIST; ?>
var ausgabe = <?php echo $VARS; ?>;
//Send
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var return_data = xhr.responseText;
document.getElementById("Register").innerHTML = return_data;
}
}
xhr.send(ausgabe);
document.getElementById("Register").innerHTML = "Reload..";
}