2012-01-12 8 views
3

this formを送信すると、フォームが送信されている間に、すぐに「オブジェクトは機能ではありません」というエラー(Chrome版)が表示されます。私のバグは何ですか?このフォームの「オブジェクトは関数ではありません」という理由は何ですか?

私はそれが愚かなものだと確信していますが、私の人生にとっては何が間違っているのか分かりません。

答えて

2

他の回答は正しいですが、jQueryをより適切に使用することで、このような問題を回避できます。

formタグの内側

代わりのインラインのJavaScript、フォームにIDを追加し、このようなコードを持っている:

$(document).ready(function() { 
    $("#myform").bind("submit", validate); 
}); 

形式は次のようになります。

<form id="myform"> 

そして忘れてはいけません提出を防ぐためにreturn false;を関数自体に追加します。

JSは、validateを関数として適切に扱います - フォームタグ内のインラインのとき、フォーム要素を最初に見て、ボタンを見つけました - したがってエラーが発生しました。

+0

素敵な答え - 私は間違いなくjQueryバインディングをインライン関数に使用します。 –

3

あなたは 'validate'機能を持っていて、submitボタンには 'validate'というIDがあります。それらの1つを変更してください。

+0

jquery#を取り出すことができます – Myforwik

4

関数名validate()formVal()に変更しました。これで、うまく機能しています。これは、IDがvalidateの要素があるためです。 formVal()(またはvalidate()から離れて何でも)へ

変更関数名、そしてこれを言うためにformタグを変更するが:

<form onSubmit='return formVal();'> 

それは今言って立ち上がる「有効な!」フォームの下にある見出しタグに挿入します。エラーもありません。

関連する問題