【发布时间】:2020-11-03 09:03:38
【问题描述】:
如何提交多个同名表单?请在下面查看我的代码,我无法弄清楚。如果我在表单名称中使用动态 PHP 变量,我正在使用 PHP,那么 ajax 怎么会知道它已提交。任何帮助将不胜感激。
<div>
<form method="post" id="formpressed" enctype="multipart/form-data">
<input type="text" name="question" id="question">
<input type="text" name="question2" id="question2">
<button class="btn-primary btn modalsubmit" name="save" id="save">Submit</button>
</form>
</div>
<div>
<form method="post" id="formpressed" enctype="multipart/form-data">
<input type="text" name="question" id="question">
<input type="text" name="question2" id="question2">
<button class="btn-primary btn modalsubmit" name="save" id="save">Submit</button>
</form>
<!-- FORM 3 -->
<!-- FORM 4 -->
<!-- FORM n -->
</div>
<script type="text/javascript">
$('#formpressed').on('submit', function(event){
event.preventDefault();
btnSubmit = $('.modalsubmit');
$.ajax({
url:'post.php',
method:"POST",
data: new FormData(this),
contentType:false,
cache:false,
processData:false,
beforeSend:function(){
btnSubmit.prop('disabled', true);
},
success:function(data)
{
alert(data);
$("#formpressed")[0].reset();
}
});
});
</script>
【问题讨论】:
-
form
id必须是唯一的 - 对于不同的元素使用相同的id不是一个好习惯。 -
在您的情况下,最好的方法是使用类。正如@AlwaysHelping 所说,这两种形式应该有唯一的ID。即使是表单中的输入也不应该共享 ID。但是,他们可以共享一个班级。而且由于您将使用名称字段来获取数据,因此如果您无法生成唯一的 ID,则始终可以省略 ID。
-
我认为这也可以通过使用
question[]和question2[]以单一形式完成 -
嗨@Kasalwe,我们如何使用Class提交表单?我只能使用类方法提交第一个表单。
-
给每个表单一个类,例如 myform。然后在 JQuery 中使用 $('.myform').on('submit', function(event){...
标签: javascript php html jquery ajax