[英]Form not submitting when JavaScript validated
我有一個帶有經過驗證的下拉列表的表單,驗證工作正常,但是如果用戶選擇默認以外的任何選項,表單將不會提交。
我以易於閱讀的格式創建了當前代碼的jsfiddle 。
為什么我的表單不提交?
JavaScript的
$('#btncheck').click(function () {
if ($("#mySelect ")[0].selectedIndex <= 0) {
alert("Please select a tank from the menu!");
return false;
} else {
return true;
form.submit();
}
});
return
后的任何事情都不會觸發:
return true;
form.submit();
這是因為在form.submit();
之上有一個return true
語句form.submit();
您需要切換這些順序。
$('#btncheck').click(function(){
if ($("#mySelect")[0].selectedIndex <= 0) {
alert("Please select a tank from the menu!");
return false;
}
form.submit();
return true;
});
(我還整理了一些代碼。)
我已經編輯了您的JSFiddle,並提出了一個可行的示例。 http://jsfiddle.net/36JZL/44/您可以看到,當彈出警告框時,已到達提交表單的代碼部分。
為了回答您的最新評論,我更新了JSFiddle。 http://jsfiddle.net/36JZL/46/ 。 這會更改下拉菜單的背景顏色,並在其下方給出錯誤消息。
$(document).ready(function() {
$('#btncheck').click(function(){
if ($("#mySelect ")[0].selectedIndex <= 0) {
alert("Please select a tank from the menu!");
return false;
}
else {
//return true;
$('form').submit();
}
});
});
ps在表單中添加動作標簽(例如action ='server-side.php'),否則表單將被提交/處理到/在同一頁面上(也許您想要,不知道)和方法(我猜您沒有)不需要默認-GET)
返回是任何函數的終點!
返回后放置的任何內容均不會執行。
我建議您使用帶有斷點的逐步調試器,這是chrome開發工具的指南https://developers.google.com/chrome-developer-tools/docs/javascript-debugging
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.