0

非常によくある質問ですが。入力するデータが1から150の間でなければならない入力フィールドが1つあります。

問題は、私はすでにいくつかの検証を使用していることです。その検証は、他の多くの入力フィールドで使用されています。だから私はそれを変えることはできません。num()機能です。

ある分野mesureでは、機能を追加したいと思います。検証してみました。の両方の関数を使用して、1つの入力フィールドに対してこれら2つの検証をマージする方法がわかりませんdocument.ready

jQueryまたはPHPのいずれかでそれを行うことができます。

<input type="text" name='mesure' class="numbersonly" maxlength="3" onblur =" validate()"/>


function num() {

    $(".numbersonly").bind('keypress', function(e) {

        if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {

            $("#errmsg").html("numbers please");

            return false;
        }
    });

}

function validate()
{
   if( document.form.mesure.value >150 )
   {
       alert( "out of range!" );
       document.form.mesure.focus() ;
       return false;
   }
}      
4

2 に答える 2

0

onkeypress / onkeyupを使用しない場合は、検証機能を使用して確認してください。ただし、javascriptは制限の実際の解決策ではないことを忘れないでください。人々はjavascriptを無効にしたり、変更したりできます。また、値を確認するためにphpを使用します。

于 2012-07-24T08:25:29.867 に答える
0

たとえば、制限する入力フィールドのIDが#textの場合、次を使用できます。

if($('#text').val().length>150){
    //do stuff here
}

入力した値をバックエンドのどこかに投稿する可能性があるため、実際の検証はphpで行う必要があります。そこで、あなたは次のようなことをすることができます

<?php
    if(strlen($_POST['text'])>150){
        echo "too long";
        exit;
    }

    //do other backend stuff here
?>

検証にjavascriptを使用することは、ユーザーが何か間違ったことをしたかどうかを即座にフィードバックできる場合にのみ有効です。ただし、クライアントは常にjQuery / Javascriptのようなクライアント側のコードを見ることができるため、最終的な検証にはphpを使用します。

于 2012-07-24T08:30:57.850 に答える