0

画像

上の画像を参照してください。私は jquery に非常に慣れていないため、データを入力するための php フォームを開発しました。ユーザーが間違った値を入力した場合、ユーザーがテキスト フィールドを離れるのを制限したい。範囲: 0 から 50 とします。AB、NR も受け入れる必要があります。

これを達成する方法はありますか。

この迅速な返信にとても感謝しています。

交換しました

<script>
$.validator.addMethod("custom_number", function(value, element) {
return this.optional(element) || value == "AB" || value == "NF" || 
value.match(/^[0-9,\+-]+$/);
}, "Please enter a valid number, or 'AB'");

$(document).ready(function(){
$("#form").validate({
rules: {
'hd[]': {
required: false,
custom_number: true   
}
}
});
});
</script>

<script>
var accept_values = array("AB","NR",'01','02','03','04','05','06','07','08','09','10');

function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] == needle) return true;
}
return false;
}

var success = 0;
$("input[type='hd[]']").each(function(){
if(!in_array(accept_values, $(this).val())) {
success = 1;
}
});
if(success == 1){
alert("You have entered an invalid value");
return false;

}
//do success
</script>

01 から 10 と 'AB' と 'NR' を受け入れることを望んでいますが、うまくいきません。そして、アルファベットと同様に範囲を提供する方法はありますか?

4

4 に答える 4

2

要件/必要に応じて変更してください:

function validate(){
    $('.theory').each(function(){           
            if($(this).val() == ''){
                alert('Please enter value.');       
                return false;
            }else{
                if($(this).val() < 0  || $(this).val() > 50  ){
                            alert('Please enter correct value.');               
                            return false;
                     }
            }       
    });

  return true;

}
于 2013-04-01T06:28:41.230 に答える
1

テキストボックスに同じ css クラス (例:checkrow) があることを願っています。

Jquery コード (未テスト)

  $(function(){
    var status =true;
    $('.checkrow').on('blur',function(){
    var valueofrow =$(this).val();
    if(valueofrow =='AB' || valueofrow =='NR'){
    status =true;
    } else{
    status =false;
    }
    if(status == false){
    alert("warning message");
    return false;
    } 
    });
    });
于 2013-04-01T06:27:28.843 に答える
0

jqueryバリデーターを使用して問題を解決しようとしました..

それがあなたの要件に合っているかどうか、または何かを変更したいかどうかを確認してください..

        <script src='
        http://code.jquery.com/jquery-latest.min.js '></script>
        <script src='http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js'></script>
        <script>
        $(document).ready(function(){

        $('#frm').validate();

        $(".inp_text").each(function(){
        $(this).rules("add", {
        required: true,
        checkValue: true
         });   
       });

            $.validator.addMethod("checkValue", function(value, element) {
            var response = ((value > 0)&&(value <= 50))||((value == 'AB')||(value =='NR'));
           return response;
           }, "invalid value");

        })

        </script>


        <form id='frm'>
        <input type='text' name='inp_text'   class='inp_text'/><br>
        <input type='text' name='inp_text1' class='inp_text'/><br>
        <input type='submit' name=''/>
        </frm>

すべての入力は同じクラスを持つ必要があることに注意してください

于 2013-04-01T07:18:59.917 に答える
0
var accept_values = array("AB","NR");

function inArray(needle, haystack) {
    var length = haystack.length;
    for(var i = 0; i < length; i++) {
        if(haystack[i] == needle) return true;
    }
    return false;
}

var success = 0;
$("input[type='text']").each(function(){
    if(!in_array(accept_values, $(this).val())) {
        success = 1;
    }
});
if(success == 1){
    alert("You have entered an invalid value");
    return false;
}
//do success
于 2013-04-01T06:22:51.640 に答える