重新加载站点的 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..";
    }