2012-09-22 15 views
49

誰でもこのエラーの意味を説明できますか?私はこれでどんな種類の助けでもそれをたくさんいただきたいと思います。オブジェクト[HTMLFormElement]のプロパティ 'submit'は関数ではありません

<form class="form" id="form" action="/mailer.php" method="post"> 

これは私が使用しているJqueryコードです。

$('#form').submit(); 
+1

)([0] .submit '$( '#フォーム')使用してみてください;'または単に 'ドキュメントあなたの現在のコードが実際に動作するはずです。 – techfoobar

+2

プロトタイプ/ mootools/...のページに競合があるようですが? – undefined

+0

私はちょうど1つの瞬間に最初のオプションを試してみます。 2番目の返信... jquery.min.js –

答えて

138

IDまたは名前を持つHTMLInputElementsubmitあるがあるかどうかを確認するために、フォームをチェックしてください。フォーム要素のプロトタイプであるsubmit機能が実行できないように

これは、HTMLFormElementにプロパティsubmitを設定します。

例:

<form class="form" id="form" action="/mailer.php" method="post"> 
    ​<input type="button" name="submit" value="go"/> 
</form>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

JS:

​console.log($("#form")[0].submit)​;​ // will be the button element, not the submit function. 

jQueryの.submit()方法は、元のDOM要素に.submit()を呼び出しますので、エラーが発生します。

+3

私は名前を削除し、それが動作するかどうかを確認します。 –

+0

@AndrewAllenWestはい、その理由が必要です。 – xdazz

+0

それはトリックでした!どうもありがとう。 –

6

ボタンまたは入力名がsubmitまたはid submitの場合、IEでエラーが発生しました。入力の名前が正しいことを確認してください。ここに記事があります。http://bugs.jquery.com/ticket/1414

27

xdazz問題をよく説明しました。

あなたはネイティブ は、問題を回避するためにHTMLFormElementの方法を提出し使用することができます

HTMLFormElement.prototype.submit.call($('#form')[0]); 
+3

ヒープありがとう!これは私のために働いた!皮肉なことに、この回答には投票がありません。 – JohnnyQ

+1

ありがとうございました!これは、この問題がある場合にコンソールでフォームを実行するのに最適です... ITコメントフォームのケースはどちらですか... –

+0

xdazzのソリューションが十分でない場合、これは良い選択です! – Manatax

関連する問題