<p>我有以下的表單程式碼和javascript程式碼如下所示。問題是當(dāng)執(zhí)行到<code>validateDialogForm()</code>時(shí),如果滿足某些條件,會(huì)顯示一個(gè)jquery對(duì)話框。我確實(shí)能夠看到對(duì)話框出現(xiàn)了幾秒鐘,但它不會(huì)停留在那裡,表單仍然繼續(xù)提交。我希望表單在一段時(shí)間內(nèi)暫停,只有當(dāng)使用者點(diǎn)擊<code>儲(chǔ)存</code>按鈕時(shí)才提交。我嘗試在<code>validateDialogForm()</code>函數(shù)結(jié)束前加上<code>return false;</code>,以阻止表單提交,但當(dāng)我點(diǎn)擊對(duì)話框的儲(chǔ)存按鈕時(shí),它不會(huì)繼續(xù)提交表單,而是保持原樣。我在這裡做錯(cuò)了什麼?以下程式碼的目前狀態(tài)是,無論jquery對(duì)話框如何,表單都將繼續(xù)提交。(為了聲音起見,刪除了許多不相關(guān)的程式碼)</p>
<p><br />></p>
$('#checklist_dialog').hide();
函數(shù) validateDialogForm() {
$('#checklist_dialog').show();
var isConfirmed = false;
//步驟:1 檢查是否選擇了選項(xiàng) B。
var 選定的值 = "";
var selected = $("input[type='radio'][name='sampleChoice']:checked");
if (selected.length > 0) {
selectedVal = selected.val();
console.log("所選選項(xiàng)是" selectedVal);
}
if (selectedVal === "choiceB") {
if ($("#choiceBstatus").val() === "true") {
//顯示對(duì)話框
$('#checklist_dialog').dialog({
模態(tài):真實(shí),
最大寬度:600,
最大高度:500,
寬度:600,
高度:500,
覆蓋:{
不透明度:0.7,
背景:“黑色”
},
紐扣: {
「儲(chǔ)存」:函數(shù)(){
$(this).dialog('關(guān)閉');
alert("在被點(diǎn)擊的儲(chǔ)存按鈕內(nèi)");
$("#choiceBstatus").val("假");
//已確認(rèn)= true;
返回真;
},
「取消」:函數(shù)(){
$(this).dialog('關(guān)閉');
Alert("在儲(chǔ)存表單之前,您必須完成/儲(chǔ)存清單!");
// 返回假;
}
}
});
/* e.preventDefault();
返回假; */
} //if($("#choiceBstatus").val() == true ){ 結(jié)束
if ($("#choiceBstatus").val() === "false") {
// 返回真;
}
} // if(selectedVal === "choiceB"){ 結(jié)束
//返回假;
/* if(已確認(rèn)){
返回真;
}
別的 {
返回假;
}
*/
}</pre>