我正在嘗試使用jQuery UI構建一個對話框,並且是/否按鈕以供用戶確認。 (這是因爲我想使用戶界面統一,因爲我使用jQuery UI來構建警告對話框。)我的意圖是要求用戶確認是否在文本框中提交了大量(1000或更高)。到目前爲止,我的JavaScript代碼如下所示:我們如何檢查在jQuery UI對話框中單擊了哪個按鈕?
function checkclick(button1, button2, theForm) {
var val;
val = theForm.mybox.value;
v = parseInt(val) || 0;
var btns = {};
btns[button1] = function(){
$(this).dialog('close');
};
btns[button2] = function(){
$(this).dialog('close');
};
if (v >= 1000) {
$('#dialog').dialog({
autoOpen: true,
modal:true,
buttons:btns
});
$('#dialog_link').click(function() {
$('#dialog').dialog('open');
});
return false;
}
return true;
}
我的HTML看起來像這樣:
<div id='dialog' title='Note' style='display:none'>
<p id='dialog_link'>This is a very large number. Are you sure?</p>
</div>
<form name='myForm' action='result.php' method='post'
onsubmit="return checkclick('Yes', 'No', this)">
<input type='text' name='mybox'>
<input type='submit'>
</form>
的問題是,當用戶點擊是或否按鈕,它會回去到同一頁面。但是,如果我在'if'部分中將'return false'更改爲'return true',則單擊Submit按鈕後,頁面將直接轉到result.php,而不必等待用戶單擊Yes或No按鈕。有沒有什麼方法可以檢查用戶點擊哪個按鈕,這樣在點擊Yes之後,頁面會轉到result.php,點擊No後仍然保留在當前頁面上?
你的問題是,在大多數情況下,回答在這裏: http://stackoverflow.com/a/3561141/1228942 – JoelPrz
@JoelPrz謝謝,是該解決方案解決了我的問題。唯一的區別是我需要用'theForm.submit();'替換'window.open(...);',以便可以傳遞表單數據。 – LaBird