2011-06-01 6 views
0

私は、テキスト領域を持つフォームでjquery検証を使用しています。false jquery validationの後に真の検証が続くと、クロムテキスト領域のフォーカスが失われます。

<form id="contact" name="contact" action="/forms/contact_received.php" method="get"> 
    <textarea name="message" cols="60" rows="10" value=""></textarea> 
</form> 

jqueryのスクリプトは次のようになります:Chromeの場合

$("#contact").validate({  
    rules: { 
     name: "required", 
     email: {required: true, email: true}, 
     subject: "required", 
     message: {required: true} 
    }, 
    messages: { 
     name: "Enter your name", 
     email: {required: "Please enter a valid email address",minlength: "Please enter a valid email address"}, 
     subject: "it's required", 
     message: "Please enter your message in the box above" 
    } 
}); 

、ユーザーはこのテキストエリアながら提出しようとした形でHTMLは、この(罰金含まれていない検証し、他のフィールド)のように見えます空の場合、私のエラーメッセージが表示されます。

ユーザーがテキストエリアにテキストを入力すると、1文字(赤色の「エラー」テキストとして表示され、1文字目の後に黒色に変わります)が書き込まれ、エラーメッセージが表示されなくなります。 textareaは最初の幅に戻ります。ユーザーは、コメントの残りの部分を入力するには、フォームを再度クリックする必要があります。

検証が「true」を返した後で、テキストエリアのフォーカスが維持されるようにするにはどうすればよいですか?

+0

NO偽の後が以下の通りです:カップルの人々は、それが合法的な問題ですので、ここに見られるようにjqueryのフォーラムで同じ問題を抱えていたが、おそらく私はこれを削除する必要があります。 done :-)あなたの前の質問はどうですか?私は返品を偽にするように言った。 – zod

+0

jsにルールを書くのではなく、cssクラス 'required'を使用できますか?それは回避策かもしれません。また、なぜrules.message === '必須'ではないのですか? rules.messageはなぜオブジェクトですか?たぶんそれを文字列に変更すると違いが生じます。 – Teddy

+0

zod最後の質問またはこの質問の意味を理解していません。他のjQueryの例のどれもがそのようなスクリプトにfalseを返すことはありません。それはすべてvalidateプラグインで処理されますか? –

答えて

関連する問題