虽然这是一个非常常见的问题。我有一个输入字段,输入的数据必须在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;
}
}
答案 0 :(得分:0)
为什么不使用onkeypress / onkeyup,使用validate函数进行检查。 但请记住,javascript并不是限制的真正解决方案 - 人们可以关闭或更改javascript。还可以使用php来检查值。
答案 1 :(得分: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。