2013-04-29 23 views
5

に設定されていない場合、私はjQueryのようにフォームが提出していない設定があります。http://jsfiddle.net/FztLS/1/停止コメント投稿欄は、まず

をフィールドが設定されている場合にのみ、それは提出していません。私は誰もがスクリプトで間違っていたことを知っていたのだろうかと思っていた。

フィールドが空の場合にのみreturn false;が適用されると仮定しました。

また、最初のクラスだけでなく、すべての空のフィールドにクラスを適用するにはどうすればよいですか?

最後に、ラジオボックスの検証を含めるより良い方法はありますか?

答えて

0

にごelse句更新:

else { 
    $('#respond input, #respond textarea').removeClass('form_error'); 
    $('#commentform').submit(); 
} 

がここにフィドルです:http://jsfiddle.net/FztLS/5/

0

「提出」イベントが唯一あなたがセクションにバインドしようとしている、フォーム要素にバインドすることができます。

FYI、$("section#respond")は悪い習慣です。ページごとに同じidを持つ要素が複数あることは決してありません。あらゆる種類のものが間違っています。これで十分です:$("#respond")

+0

ええ、間違った要素にバインドしたことが後で分かりました.-そして、ただ1つの '#respond'があります。私はすぐに要素を追加します。しかし、私に思い出させることに感謝します! – Ahhhhhhhhhhhhhdfgbv

0

問題はここにある:

if ($('input[name="rating"]:not(:checked)').val()) { 

これらは常にあなたは常に値を取得するので、falseを返すように、未チェックのものがあるだろうラジオボタンがあるので。

代わりにこれを試してみてください:

"なしラジオボタンがチェックされていない場合は、" 意味
if($('input[name="rating"]:checked').length === 0) { 

関連する問題