2012-05-01 74 views
94

我已經設置了一個引導模式,其中有一個表單,我只是注意到當我按下回車鍵時,模式被取消。 按Enter時有沒有辦法消除它?避免模式關閉輸入按鍵

我試着用鍵盤激活模式:false,但只能防止用ESC鍵解僱。

+0

我像這個問題一樣。爲什麼不編輯插件的源代碼? –

+0

我會看看,如果我找到一些有用的東西,我會編輯。與此同時,我希望有人知道答案。 –

+0

我從click.dismiss.modal更改爲keyup,看起來很好,我稍後再檢查一下,看看我搞砸了其他東西 –

回答

103

我也有這個問題。
我的問題是,我在模態

<button class="close" data-dismiss="modal">&times;</button> 

有一個關閉按鈕,按enter鍵在輸入字段導致此按鈕被解僱。我把它改成了一個錨點,它現在按預期工作(輸入提交表單並且不關閉模式)。

<a class="close" data-dismiss="modal">&times;</a> 

沒有看到您的來源,我無法確認您的原因是相同的。

7

您可以將登錄按鈕放在取消按鈕之前,這將解決您所遇到的問題。

<div class="modal-footer"> 
    <button type="submit" class="btn primary">Login</button> 
    <button type="submit" class="btn" data-dismiss="modal">Cancel</button> 
</div> 
+3

取消不應該鍵入提交 – Manatax

+0

不,這並不能解決問題 – DvdEnde

16

我甚至從我的引導模態移除所有按鈕後,有這個問題,所以沒有一個解決方案在這裏幫助我。

如果在鍵盤焦點位於文本字段時按Enter鍵,則發現只有單個文本字段的表單會導致瀏覽器執行表單提交(並導致退出)。這似乎更像是一個瀏覽器/表單問題,而不是Bootstrap的任何問題。

我的解決辦法是設置窗體的onsubmit屬性的onsubmit =「返回false」

,如果你實際使用提交事件,這可能是一個問題,但我使用的是產生AJAX請求,而JS框架比做瀏覽器提交,所以我寧願完全禁用提交。 (這也意味着我不必手動調整每個可能觸發提交的表單元素)。

此處瞭解詳情:Bootstrap modal dialogs with a single text input field always dismiss on Enter key

+1

我已經有'type =「button」'在我所有的關閉/取消按鈕上,但仍然有這個問題,輸入關閉我的模式的關鍵。我的模態中只有1個輸入文本字段,並且您的解決方案修復了它。感謝您的回答! –

2

我也有這個問題,我解決了這種方式。我添加了提交表單。我也希望能夠使用回車鍵作爲保存鍵,所以我添加了save_stuff()javascript onsubmit。返回false;用於防止表單提交。

<form onsubmit="save_stuff(); return false;"> 
... 
</form> 

<script> 
    function save_stuff(){ 
     //Saving stuff 
    } 
</script> 
3

我剛纔有一個類似的經歷,我解決這個問題的方式並不是使用標籤,而是將標籤更改爲類型爲「button」的標籤。這似乎解決了按下「輸入」鍵和解除引導模式的問題。

4

我有同樣的問題,我用

<form onsubmit="return false;"> 

解決了這個問題,但還有一個解決方案,你可以添加虛擬無形的投入,使您的形式是這樣的:

<form role="form" method="post" action="submitform.php"> 
    <input type="text" id="name" name="name" > 
    <input type="text" style="display: none;"> 
</form>