【发布时间】:2016-07-05 15:51:04
【问题描述】:
我的多表单页面遇到了错误:
我有两种形式:
<form>
<input type="submit" id="single-submit" name="form_1" value="Submit 1"/>
</form>
<form>
<input type="submit" id="single-submit" name="form_2" value="Submit 2"/>
</form>
还有这个防止双重提交的JavaScript:
$("form").one('submit', function() {
$('#single-submit').prop("disabled", true);
});
我正在尝试在 php 中获取提交名称:
if(isset($_POST['form_1']))
{
// form 1 submitted
}
if(isset($_POST['form_2']))
{
// form 2 submitted
}
但是 JS 阻止了这一点,为什么?
我可以收到来自第二、第三...表单的提交name=""。但不是来自页面上的第一个表单。
更新:
删除了双id,添加了类:
<form action="example.com/process" method="post" accept-charset="utf-8">
<input type="submit" class="single-submit" name="form_1" value="Submit 1"/>
</form>
<form action="example.com/process" method="post" accept-charset="utf-8">
<input type="submit" class="single-submit" name="form_2" value="Submit 2"/>
</form>
还有这个防止双重提交的JavaScript:
$("form").one('submit', function() {
$('.single-submit').prop("disabled", true);
});
此外,现在第一个和第二个表单不返回提交名称。
也尝试了on(,但没有运气。
所以看来 JS 还是有问题的。
没有这个 JS,一切都按预期工作。
【问题讨论】:
-
$("form").one('submit',尝试使用on(而不是one(。 -
错字?? $("form").one
-
你有重复的
id,这是非法的html。修复你的 html,事情可能会开始变得更好。 -
不是错字...
.one只触发一次。谷歌它! -
请更新您的问题以反映所有详细信息。评论不适合包含问题的详细信息或当前状态。由于您的问题目前已关闭,唯一 重新打开它(并且可用于新答案)的方法是以清楚地表明它不是重复的方式充分描述问题。跨度>
标签: javascript php jquery forms