0

虽然这是一个很常见的问题。我有一个输入字段,其中输入的数据必须在 1 到 150 之间。

问题是我已经在使用一些验证。许多其他输入字段正在使用该验证。所以我无法改变这一点。它是num()功能。

在一个领域mesure,我想添加额外的功能。我用验证试了一下。我不知道如何使用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.ini 中进行。在那里,你可以做类似的事情

<?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 回答