Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动提交表单-循环问题_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 自动提交表单-循环问题

Javascript 自动提交表单-循环问题,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有以下表单设置: <body> <form id="main" name='main' action='/IMC Tools/IMC_Directory_Tool/staff/index.php' method='post' <?php if ( isset($_form_params_) ) echo $_form_params_; ?>> <?php echo $hm->Zb('@page:state'); ?> <tabl

我有以下表单设置:

<body>

<form id="main" name='main' action='/IMC Tools/IMC_Directory_Tool/staff/index.php' method='post' <?php if ( isset($_form_params_) ) echo $_form_params_; ?>>
<?php echo $hm->Zb('@page:state'); ?>


<table width='100%' border='0' cellpadding='3' cellspacing='1'>
    <tr>
        <td class='column_caption' style='width:150px;'>
          <?php echo $hm->Zb('rs:def:username_login', ZB_ATTR, array( "value" => "admin" )); ?>
          <?php echo $hm->Zb('rs:def:password_login', ZB_ATTR, array( "value" => "password" )); ?>
          <input type="submit" title="ENTER" value="ENTER" id="auto_enter" name="_sc=_this/auth&amp;">
        </td>
    </tr>   
</table>

</form>

</body>

看起来表单可能正在提交到它所在的页面。您可能希望:

有单独的页面来处理提交,或 检查您接收的表单数据是否应该在$\u POST数组中,然后确保您不再自动提交表单,这样就打破了无限循环。
希望这有帮助

好的,所以我通过使用Jquery找到了另一种解决方案

<script>
$('form').find('input[type="submit"]').trigger('click');
</script>

你只是无条件地提交你的表格。你到底想达到什么目的?另外,您的代码不应该进入无限循环,除非您的index.php操作返回与您刚才发布的相同的html和脚本。如果我删除脚本并点击sumbit,它会正常工作。这是我正在使用的PHP应用程序,所以很多实际的编码都分散在各种包含的文件中。有没有一种简单的方法可以让脚本自动单击提交按钮,因为我知道这是可行的?如果您只想在页面加载时执行此操作,可以执行此文档。addEventListener'load',函数{document.getElementById'main'。submit;},false;这个脚本似乎正在运行。当我刷新页面时,不会发生任何事情。我试着把这个脚本放在表单中,在标题中,在正文中,什么也没有发生。我把ti修改为CodeWindow.addEventListener'load',函数{document.getElementById'main'。submit;},false;代码和我现在得到一个空白页,所以我们正在取得进展。是我的错,外部的应该是window。addEventListener,您是否看到它是否正在发送网络选项卡中预期的所有请求参数?
function CallSubmit( action, param, method )
{
    param = param || "";
    method = method || "POST";

    var f = document.forms["main"];
    f["action"] = action;
    f["method"] = method;

    //--- [BEGIN] Brwoser Safari
    if ( navigator.userAgent.indexOf("Safari") != -1  )
    {
        var obj = event.srcElement;
        if ( obj.name.length > 0 )
        {
            f["action"] += "?" + obj.name;
        }
    }
    //--- [END] Brwoser Safari

    f.submit();

    return false;
}
<script>
$('form').find('input[type="submit"]').trigger('click');
</script>