jquery submit()フォームをコミットできない解決方法

2429 ワード

<form id="form" method="get">
<input  type="text" name="q" value="    "/><button type="button" id="submit">  </button>
</form>
<script type="text/javascript">
$(function(){
    $('#submit').click(function(){
        $('#form').submit()
    })
})
</script>

 
上記のコードは問題ないように見えますが、普通ではありません.普通のコードではありません.しかし、クエリーボタンをクリックしたときにフォームを提出しないで、ボタンtypeをsubmitフォームに変更して正常に提出します.そこでJQUERY APIに行って原因を探して、以下のこの文字を見てすぐに分かりました:
Additional Notes: Forms and their child elements should not use input names or ids that conflict with properties of a form, such as submit, length, or method. Name conflicts can cause confusing failures. For a complete list of rules and to check your markup for these problems, see DOMLint.
 
その他の注意事項:フォームとそのサブ要素は、submit、length、or methodなどのフォームの属性の属性をnameまたはidの名前として使用するべきではありません.はい、競合が発生します.名前の競合は、混乱した失敗を引き起こす可能性があります.完全なルールリストについて、これらの問題タグを確認し、DOMLintを参照してください.
-_-^ もとはこのid=“submit”の原因で、あなたがこのような低級な間違いを犯す木があることを知りません.
この中のid値をid=「submit 1」に変更するのは「submit」にできないだけでOKです