我在多表单页面中遇到了错误:
我有两种形式:
{ "column1":"int","column2":"varchar(255)","column3":"column3Type..." }
这个JavaScript可以防止双重提交:
<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>
我试图在php中获取提交名称:
$("form").one('submit', function() {
$('#single-submit').prop("disabled", true);
});
但JS正在阻止这个,为什么?
我可以从第二,第三......表单接收提交if(isset($_POST['form_1']))
{
// form 1 submitted
}
if(isset($_POST['form_2']))
{
// form 2 submitted
}
。但不是来自页面上的第一个表格。
更新
删除了双重ID,而是添加了类:
name=""
这个JavaScript可以防止双重提交:
<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>
此外,现在第一个和第二个表单不会返回提交名称。
也尝试了$("form").one('submit', function() {
$('.single-submit').prop("disabled", true);
});
,没有运气
所以JS似乎还有问题。
如果没有这个JS,一切都按预期工作。
答案 0 :(得分:2)
使用class
代替id
:id="single-submit"
。
id
必须是唯一的。