【发布时间】:2016-04-25 19:32:34
【问题描述】:
我有以下表格:
<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});
【问题讨论】:
-
showValidationError()在做什么吗? -
是否有任何 JavaScript 错误?
-
只改变soem div的innerHTML
-
为什么不把你所有的提交代码放在一个单独的函数中,并在你的点击和按键事件中调用它?
-
与其尝试捕捉所有可能的提交表单的方式,不如听听
submit事件呢?