2014-07-22 52 views
-1

我面臨一個非常奇怪的問題。名稱=提交的按鈕在使用引導驗證時變爲禁用

我有一個簡單的窗體和一個文本框。我有兩個類型爲submit的按鈕。如果我在其中一個按鈕上設置了name = submit,那麼點擊時按鈕將變爲禁用狀態,並且不會發布。

這是引導帶中的標準行爲還是可以更改?

+0

發佈您的代碼 –

+0

發佈您的代碼。 Wrap用引號提交。 – davidxd33

+0

請發佈相關代碼! – Sparky

回答

1

你不應該命名任何表單元素「提交」,因爲這將掩蓋/日食JavaScript form.submit()函數,它將不可用!

您可以使用document["nameOfForm"]["nameOfField"]document.nameOfForm.nameOfField來命名任何表單域。已經有表單屬性,如document.myForm.namedocument.myForm.submit()等方法。

使用已經由瀏覽器定義的表單屬性或方法的名稱將會干擾依賴於它們的任何功能。

其他常見的字段名稱,以避免:

  • 行動
  • ENCTYPE
  • 方法
  • 目標

看來你選擇的JS庫使用form.submit()提交表格。

+0

但是,如果我使用引導驗證,如果我刪除引導驗證,然後它的工作正常與按鈕名稱提交 – user3592182

+0

@ user3592182:即驗證例程不需要調用form.submit()他們可以只處理onsubmit事件並從中返回true或false。如果你使用別人的框架,你只能按照設計框架的方式來做事。如果您不使用JavaScript,則所有HTML表單元素名稱均可使用。 –

1

不要使用表單的屬性,例如submit,reset,length,method來設置表單的名稱或id屬性,field元素。名稱衝突可能導致問題。

例如,你不能提交表單驗證後,如果使用提交命名提交按鈕:

<button type="submit" name="submit" class="btn btn-primary">Submit</button> 

DOMLint有規則的完整列表,檢查這些類型的問題的標記。

參考:the name conflict warning在官方文檔中。

相關問題