我有以下表格:
<form id="form1" class="form1" action="https://www.someexternalsite.com/api/some/route?encoding=UTF-8" method="POST">
<input type=hidden id="pid" name="pid" value="00NJAHSJASASAS">
<label for="symbol">Symbol</label><input id="symbol" name="00NALKSJSKA" maxlength="10" size="20" type="text" />
<input type="button" name="submitThis" id="qwSubmit" class="submitForm1Button" value="Submit">
</form>
我的js挂钩onclick事件处理:
$(function () {
$("#qwSubmit").click(function (e) {
e.preventDefault();
try {
validateForm(); // this includes some ajax requests for some parts of the validation
} catch (e) {
showValidationError(e);
return;
}
$("#form1").submit();
});
$("#form1").keypress(function (event) {
if (window.event) event = window.event;
if (event.keyCode == 13) {
event.preventDefault ? event.preventDefault() : event.returnValue = false;
$("#qwSubmit").click();
}
});
});
我错过或做错了什么阻止了提交?
编辑:
没有js错误。当我点击提交时,它只是有点坐在那里;我确实看到它解雇了ajax来验证某些字段。
编辑:
我也尝试过:
button.submit(function(er) {e.prevent... return true});
答案 0 :(得分:0)
它可能永远不会返回到内联函数。
我建议更改流程,以便验证功能在成功时提交表单。
$(function () {
function validateForm() {
// validation logic
// Submit form
$("#form1").submit();
}
$("#qwSubmit").click(function (e) {
e.preventDefault();
try {
validateForm(); // this includes some ajax requests for some parts of the validation
} catch (e) {
showValidationError(e);
return;
}
});
$("#form1").keypress(function (event) {
if (window.event) event = window.event;
if (event.keyCode == 13) {
event.preventDefault ? event.preventDefault() : event.returnValue = false;
$("#qwSubmit").click();
}
});
});