使用javascript卡在连续循环中自动提交表单

时间:2014-05-29 10:12:11

标签: javascript jquery

我只是想知道这个代码在哪里出错了它为结帐添加了95英镑,但问题是它反复做它就像它在一个循环中我似乎无法想象如何阻止它。

<body onLoad="submit1()">
<form method="post" action="" class="jcart" id="foo">
 <fieldset>
<input type="hidden" name="jcartToken" value="<?php echo $_SESSION['jcartToken'];?>" />
<input type="hidden" name="my-item-id" value="ABC-8" />
<input type="hidden" name="my-item-name" value="Level 1" />
<input type="hidden" name="my-item-price" value="95.00" />
<input type="hidden" name="my-item-url" value="" />

<table>
      <tr>
      <td width="65%">
    <strong>Level 1 all for £95</strong>
      </td>

      <td width="15%" align="right">
    £95.00
      </td>

  <td>
        <input type="text" hidden ="true" name="my-item-qty" value="1" size="3" hidden="true" />
  </td>
      <td width="20%" align="center">
    <input type="submit" name="my-add-button" id="my-add-button" value="add" class="button" /> 
  </td>
  </tr>
     </table>       
</fieldset>
  </form>

<script type="text/javascript">
function submit1() {    
    // It seems that its this causing the problem 
    document.getElementById("my-add-button").click()// Simulates button click

    document.foo.submit() // Submits the form without the button
} 
</script>
</body>

2 个答案:

答案 0 :(得分:0)

因为你在body onload中调用submit1(),所以每次加载页面时都会执行它。由于此函数提交了再次加载页面的表单,因此会创建一个循环。删除submit1()函数并尝试这种更简单的方法:

$("#my-add-button").click(function() {
    $("#foo").submit();
});

答案 1 :(得分:0)

试试这个:

var o = 0;
function submit1() {
    if(o === 0){
      document.foo.submit() // Submits the form without the button
    }
    (o === 0) ? o++ : o = 0;
} 
相关问题