使用连续循环中的javascript自动提交表单
submitting a form automatically using javascript stuck in a continuous loop
我只是想知道这段代码在哪里出了问题,它将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>
因为您在body onload中调用了submit1(),它在每次加载页面时都会执行。由于这个函数提交的表单会再次加载页面,因此它创建了一个循环。删除submit1()函数并尝试这个更简单的方法:
$("#my-add-button").click(function() {
$("#foo").submit();
});
试试这个:
var o = 0;
function submit1() {
if(o === 0){
document.foo.submit() // Submits the form without the button
}
(o === 0) ? o++ : o = 0;
}
相关文章:
- Jquery提交表单而不刷新
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 每次提交表单时都会重新加载网页
- Razor中的自动提交表单
- 使用 JavaScript 自动提交表单
- 点击相同的按钮打开模型,然后提交表单
- 添加和删除隐藏字段数组中的值,而不提交表单
- 使用Ajax提交表单
- jQuery:使用“jQuery验证”后无法提交表单's远程验证
- 如何在不重新加载的情况下提交表单,并使用Node+Express将数据传递回同一页面
- 有登录表单时无法提交表单
- 带有select的jquery提交表单不起作用
- 如何防止回车键提交表单,但仍然允许回车工作
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- 在提交表单之前确定重复值
- 如何创建动态ajax提交表单
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 如何使用jQueryAjax使用动态html输入texbox提交表单
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 提交表单后,Watir文本框输入未持续(重置为以前的文本框输入)