Javascript 表单验证,对特定值进行例外
我想验证一个特定的表单字段,例如,用户可以输入1到100之间的值;但是如果字段留空,它将自动输入-1 我的代码阻止了-1的提交,因为它似乎不在1和100之间 下面是一个例子:Javascript 表单验证,对特定值进行例外,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我想验证一个特定的表单字段,例如,用户可以输入1到100之间的值;但是如果字段留空,它将自动输入-1 我的代码阻止了-1的提交,因为它似乎不在1和100之间 下面是一个例子: var x = document.getElementById('test').value; if(x !== '') { if (isNaN(x) || x < 1 || x > 100) { feedback = feedback + "Input value must be
var x = document.getElementById('test').value;
if(x !== '') {
if (isNaN(x) || x < 1 || x > 100) {
feedback = feedback + "Input value must be between 1 and 100.\n";
}
}
else {
document.getElementById('test').value = "-1";
}
var x=document.getElementById('test').value;
如果(x!=''){
如果(isNaN(x)| | x<1 | | x>100){
反馈=反馈+“输入值必须介于1和100之间。\n”;
}
}
否则{
document.getElementById('test')。value=“-1”;
}
提交表格时,我收到上述警报:
输入值必须介于1和100之间
因为它输入-1,并且不会使用该值提交
有办法解决这个问题吗?在测试正数范围之前,您需要测试特定的情况:
if (isNaN(x) || (x != -1 && (x < 1 || x > 100))) {
if(isNaN(x)| |(x!=-1&&(x<1 | | x>100))){
我认为您使用的if语句只是设置document.getElementById('test').value=“-1”
ifx!='
这意味着,如果x变量是一个数字,它永远不会被设置为-1
我还要在第二个if语句中设置值,如下所示
var x = document.getElementById('test').value;
if(x !== '') {
if (isNaN(x) || x < 1 || x > 100) {
feedback = feedback + "Input value must be between 1 and 100.\n";
document.getElement('test').value = -1;
}
}
else {
document.getElementById('test').value = "-1";
}
var x=document.getElementById('test').value;
如果(x!=''){
如果(isNaN(x)| | x<1 | | x>100){
反馈=反馈+“输入值必须介于1和100之间。\n”;
document.getElement('test')。值=-1;
}
}
否则{
document.getElementById('test')。value=“-1”;
}
感谢您的快速回复!if语句仅将值设置为“-1”ifx!='
(即用户将字段留空)但是,表单不会使用值-1提交,因为它不在1-100范围内。有没有办法让它可以使用-1作为输入提交?谢谢,这正是我想要的!:)