私は非常に奇妙な問題に直面しています。
テキストボックスのあるシンプルなフォームがあります。タイプ送信のボタンが2つあります。これらのボタンのいずれかに設定name = submit
すると、ボタンをクリックすると無効になり、投稿されません。
これはブート ストラップの標準的な動作ですか、それとも変更できますか?
私は非常に奇妙な問題に直面しています。
テキストボックスのあるシンプルなフォームがあります。タイプ送信のボタンが2つあります。これらのボタンのいずれかに設定name = submit
すると、ボタンをクリックすると無効になり、投稿されません。
これはブート ストラップの標準的な動作ですか、それとも変更できますか?
送信、リセット、長さ、メソッドなどのフォームのプロパティを使用して、フォーム、フィールド要素の名前または id 属性を設定しないでください。名前の競合が問題を引き起こす可能性があります。
たとえば、submit を使用して [送信] ボタンに名前を付けた場合、検証後にフォームを送信することはできません。
<button type="submit" name="submit" class="btn btn-primary">Submit</button>
DOMLintには、この種の問題についてマークアップをチェックするためのルールの完全なリストがあります。
参照 :公式ドキュメントの名前競合警告。
フォーム要素に「submit」という名前を付けないでください。JavaScript のform.submit()関数がマスク/隠蔽され、使用できなくなります。
document["nameOfForm"]["nameOfField"]
またはを使用して、任意のフォーム フィールドをその名前でアドレス指定できますdocument.nameOfForm.nameOfField
。document.myForm.name
のようなフォーム プロパティや のようなメソッドが既に存在しますdocument.myForm.submit()
。
ブラウザーによって既に定義されているフォーム プロパティまたはメソッドの名前を使用すると、それらに依存する機能が妨げられます。
避けるべきその他の一般的なフィールド名:
選択した JS ライブラリがform.submit()
フォームの送信に使用しているようです。