1

調査システムを開発しています。

表の回答: フィールド:id, answer, answer_value, valdt.

answer=(コメント ボックスに時間を指定してください) の場合、値を valdt=1 に入れます。それ以外の場合は 0 です。

調査員がこのラジオ ボタンをクリックした場合、コメント ボックスのテキストは必須です。

ラジオボタンの私のコードは

$n1=$db->get_results("SELECT * FROM question where client='$client' and  status='1' order by `id`");

 foreach($n1 as $n2)
{
$s1=$db->get_results("SELECT * FROM answer where qid='$n2->id' ");
foreach($1 as $s2)
{
<input type="radio" name='ans[<?php echo $s2->id?>]' value="<?php echo $s2->id?>" validate="required:true" />
}
Comments:<textarea rows="5" cols="30" name="cmnt[<?php echo $n2->id?>]" ></textarea>
}

ユーザーがラジオ ボタン ( valdt=1 ) をクリックしたかどうかを検証したい場合は、対応するコメント ボックスのテキストが必要です。

私はこれを解決しようとしましたが、アラートメッセージのトリガーですが、コメントフィールドを検証しませんコードを検証フィールド内に配置しましたが、機能しません

$(document).ready(function() {
$("#form1").validate();
function getNum(element, attrPrefix) {
var prefix = attrPrefix;
var num = element.attr("id").substring((prefix.length));
return num;
}
$(":radio").change(function() {
var num = getNum($(this), "r_");
if ($("#r_"+num).not(":checked")) {
alert(' Please Enter the comment in comment box ');
} else {
alert(' Please Enter Comment in Comment Box ');
return false;
}
return true;
});
4

2 に答える 2

0

これは、 jQuery Validate プラグインを利用した実際のデモです。

HTML :

<form id="myform">
    <input type="radio" name="ans[]" id="ans" value="" />
    <textarea rows="5" cols="30" name="cmnt[]"></textarea>
    <input type="submit" />
</form>

.validate()プラグインは、 内で呼び出すことによってフォーム上で初期化されますdocument.ready。ルールとオプションは.validate()関数内で渡され、フィールドは で識別されnameます。requiredルールをラジオ ボタンの条件付きにしたいので、ルールdepends:内で関数を使用しますtextarea。はtextarea、ラジオ ボックスが選択されている場合にのみ必要になります。

jQuery :

$(document).ready(function () {

    $('#myform').validate({
        rules: {
            "cmnt[]": {
                required: {
                    depends: function (element){
                        return $("#ans").prop("checked");
                    }
                }
            }
        },
        //  other rules and options
    });

});

ワーキングデモhttp://jsfiddle.net/3Nht6/

オプションのドキュメント: http://docs.jquery.com/Plugins/Validation/validate#toptions

于 2013-01-28T19:30:48.790 に答える
0

あなたのページはhttp://jquery.bassistance.de/validate/demo/検証を使用しています。私はこの例で作業しました:

<input class="comment_check" name="check[116]" type="checkbox"> please check 
for comment<br>
<textarea cols="55" name="nn[116]" rows="5" validate="required:'input[name=check[116]]:checked'"></textarea>

それは私のために働いた、あなたは他のフィールドのようにこのチェックボックスを印刷することができます

<input class="comment_check" name="check[<?php echo $n2->id?>]" type="checkbox" value="<?php echo $n2->id?>">
于 2013-01-28T13:08:09.520 に答える