我花了整个上午试图弄清楚为什么我的$(“#submitButton”)。submit(function(){});不管用。
我有一个带有2个标签的表单:
(输入type =“ password”),以便用户在点击SubmitButton之前再次输入密码。
和(button type =“ submit”)作为提交表单的按钮
<div class="card p-2">
<form>
<div class="input-group">
<label for="inputPasswordAgain" class="sr-only">Password</label>
<input type="password" id="inputPasswordAgain" class="form-control" placeholder="Please enter your password again!" required>
<div class="input-group-append">
<button type="submit" id="submitButton" name ="submitButton" class="btn btn-secondary btn-block">Submit Changes</button>
</div>
</div>
</form>
</div>
因为在此代码块之前,我有一个包含多行的表格,所以每一行都有一个删除按钮(这是另一种形式)。每行还具有一个选择下拉列表。整个表是动态的,是基于会话数组构建的。
由于表中的“删除”按钮是表单,因此我无法使用嵌套表单来提交用户针对每一行中每个选择下拉菜单选择的内容。
因此,我创建了一个AJAX jQuery以从所有选择下拉列表中选择值,并将它们传递给updateViewing-helper.php。
<script type="text/javascript">
$( document ).ready(function() {
$( "#submitButton" ).click(function() {
var data = {};
var i;
for (i = 0; i < $("#sessionQuantity").html(); i++) {
data[i] = $("#" + i).val();
};
$.ajax({
type: "POST",
url: "updateViewing-helper.php",
data: data,
success: function{blah blah blah}
}
});
});
});
</script>
一切正常,除了我使用.click(function(){})之外,但这将调用updateViewing.php而不提交上面的表单(一个带有输入标签和按钮标签的表单,又名用户可以跳过输入密码,而点击按钮)。
因此,我尝试使用.submit(function(){}),然后使用e.preventDefault()阻止从表单进行实际提交,然后将所有下拉选择传递到AJAX,然后通过AJAX调用updateViewing-helper.php ,那么我可以在updateViewing-helper php文件中检查密码是否匹配。
$( document ).ready(function() {
$( "#submitButton" ).submit(function(e) {
alert( "form submitted" );
e.preventDefault();
var data = {};
var i; blah blah the code is the same as before
但是.submit无法正常工作!!!没有弹出警报或任何东西。
任何建议表示赞赏!
最佳答案
呼叫不在表单上的提交按钮
首先给id输入表格
<form id="myForm">
然后调用此ID提交
$( document ).ready(function() {
$("#myForm").submit(function(){
});
});