自动提交表单 - 循环问题

时间:2015-02-14 08:30:07

标签: 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'); ?>


<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>

我尝试使用以下脚本,但页面只是继续在同一页面上进行无限循环。

<script type="text/javascript" language="JavaScript"><!--
document.getElementById ('main').submit ()
//--></script>

在网上尝试了其他类似的例子但是它们都给了我同样的问题,即页面保持循环并且从不进行身份验证。这里的任何帮助都会让我头疼几个小时。

更新可能的javascript冲突?:

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;
}

2 个答案:

答案 0 :(得分:0)

似乎表单可能正在提交到它所在的页面。您可能想要:

  1. 有一个单独的页面来处理提交,或
  2. 检查您是否正在接收表单数据(应该在$ _POST数组中),然后确保您不再自动提交表单,这样就可以打破无限循环。
  3. 希望这有帮助!

答案 1 :(得分:0)

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

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