お問い合わせフォームがあります。名前を聞かれた後、電話かメールのどちらで連絡を取りたいか尋ねられます。ユーザーが電話または電子メールのラジオ ボタンを選択しない限り、電話および電子メール フィールドは非表示になります。電話または電子メールのいずれかをクリックすると、入力された電話または電子メール アドレスが正しいかどうかを検証します。
私の質問は、ユーザーがどちらのラジオ ボタンもクリックしていない場合に、JQuery Validation で確認してエラー メッセージを出力する方法です。
お問い合わせフォームがあります。名前を聞かれた後、電話かメールのどちらで連絡を取りたいか尋ねられます。ユーザーが電話または電子メールのラジオ ボタンを選択しない限り、電話および電子メール フィールドは非表示になります。電話または電子メールのいずれかをクリックすると、入力された電話または電子メール アドレスが正しいかどうかを検証します。
私の質問は、ユーザーがどちらのラジオ ボタンもクリックしていない場合に、JQuery Validation で確認してエラー メッセージを出力する方法です。
一連のラジオ ボタンを検証する方法を尋ねているだけですか? radio
input
コードを表示していないので、プラグインを使用して のセットを検証する方法をお見せできます。
次に、組み込みrules
メソッドを使用して、対応する入力からルールを動的に追加/削除します。繰り返しますが、ソリューションをカスタマイズする前に、コードを確認する必要があります。
ワーキングデモ:http://jsfiddle.net/PbHwX/
jQuery :
$(document).ready(function () {
$('#myform').validate({
rules: {
radiotest: {
required: true
}
},
messages: {
radiotest: {
required: "please select at least one option"
}
}
});
});
HTML :
<input type="radio" name="radiotest" value="0" />
<input type="radio" name="radiotest" value="1" />
更新 (2012-01-20 19:38) : 私はあなたが探していたものを理解し、jQuery の Validation プラグインを使用したいと思っていることに気付いたと思います。
これはJSFiddleで動作するデモです(注:Sparkyのフィドルから分岐しました)
デフォルトでは、ラジオボタンに関するルールのみが設定されています。すべてのメッセージは事前に設定されており、フォームの特定のフィールドは非表示になっています。ラジオ ボタンがクリックされるたびに、不要なフィールドを非表示にし、対応するルールを削除します。右側のフィールドも表示し、対応するルールを追加します。
探していた特定のコードは、次のようなものである必要があります。
/* Toggle fields */
$('#mailfields').hide();
$('#phonefields').show();
/* Remove email rule */
$('input:text[name=emailadress]').rules('remove');
/* Add a requirement rule for phone */
$('input:text[name=phonenumber]').rules('add', { required: true });
最初の回答:ユーザーが 2 つのラジオ (電子メールまたは電話) のいずれかを選択すると、対応するフィールドのいずれかが表示されると言います。したがって、ユーザーが 1 つのラジオ ボタンをクリックするたびに実行される jQuery コードが既にあると仮定します。
このコードは、クラスまたは非表示フィールドまたは好みのものを追加できます (または、この場合の最も一般的な方法は何でも、残念ながら私はそれを知るのに十分な経験がありません...)、ユーザーが選択したことを後で知ることができますオプション。
もっと多くのコード (たとえばjsFiddle ) を示すことができれば、より具体的な回答を提供できます。それでも、ここに私がすることがあります:
テストは常に同じです。
(phoneRadio.selected && phoneField.filled)
|| (mailRadio.selected && mailField.filled)
それがどのように役立つか教えてください。
多くのフォームがあり、ASP.NET MVCなどを使用している場合は、jqueryを控えめに使用できます。または、次のような操作を実行できます。
$('#form').click(function (e) { // or $form.submit handler
if ($('#email').val() == "") // or you can use an regex validation
{
e.preventDefault();
// set message here
$('#message').css('color', 'red').append('email invalid !');
}
});
$('form').submit(function (e) {
alert('submited :' + $('#email').val());
});