有沒有人知道爲什麼如果我嘗試將按鈕打開一個對話框(jQuery對話框小部件)在它彈出打開一秒鐘,然後關閉的形式?外面它工作得很好。jquery對話框不保持打開表單元素
所以,如果我把:
<form>
<button id="opener">open the dialog</button>
</form>
這似乎是提交表單,雖然形式有它自己的提交按鈕?
<button id="opener">open the dialog</button>
<div id="dialog" title="Dialog Title">I'm a dialog</div>
<script>
$("#dialog").dialog({ autoOpen: false });
$("#opener").click(function() {
$("#dialog").dialog("open");
});
</script>
有人能解釋爲什麼會發生這種情況嗎?我似乎很難理解爲什麼從表單元素中的按鈕打開會導致它無法工作? :)
PS:我也試過把div放在窗體外面,但這沒什麼區別。如果按鈕在表單內。
非常感謝 - 它工作:) ...如果你能解釋爲什麼在onclick返回的目的將是太棒了?再次感謝。 –
當您單擊窗體中的按鈕(只有按鈕標記不是輸入類型按鈕)時,表單會被提交。但是在提交表單前,如果在按鈕的點擊事件中指定了一些js代碼,首先js被執行並且表單被提交。這發生在你的情況。我們可以通過將false返回給調用事件來停止javascript內部的執行,或者像上面演示的那樣通過返回true來在一定條件下繼續執行。 –