我一直验证输入元素以确保 at-least 中的每个元素都有一些数据并通知用户要填充的字段。我正在做的方式是,
function validate()
{
var product_name = document.getElementById('pname').value;
var p_number = document.getElementById('pnumber').value;
var description = document.getElementById('descr').value;
if(product_name=="")
{alert("Please fill Product Name"); return false;}
else if(p_number=="")
{alert("Please fill product Number"); return false;}
else if(description=="")
{alert("Please fill description"); return false;}
else
return true;
}
我觉得这段代码不是最优的,需要改进。你们可能对这种验证有经验并且有一些技巧。请帮助我以更好的方式进行相同的验证。谢谢你的时间。
答案 0 :(得分:3)
您应该使您的验证功能更通用,以便它可以用于任意数量的字段。你还应该使用trim()来防止空格。
function validate(fields) {
for (var i = 0, l = fields.length; i < l; i++) {
var field = document.getElementById(fields[i].id);
if (field.value == null || field.value.trim() === '') {
alert('Please fill in ' + fields[i].name);
return false;
}
}
return true;
}
然后要验证,您将传入名称和ID
var isValid = validate([
{ id: 'pname', name: 'Product Name' },
{ id: 'pnumber', name: 'Product Number' },
{ id: 'descr', name: 'Description' }
]);
答案 1 :(得分:0)
使用:
function validate()
{
var product_name = document.getElementById('pname').value;
var p_number = document.getElementById('pnumber').value;
var description = document.getElementById('descr').value;
if((product_name.trim()).length == 0)
{alert("Please fill Product Name"); return false;}
else if((p_number.trim()).length == 0)
{alert("Please fill product Number"); return false;}
else if((description.trim()).length == 0)
{alert("Please fill description"); return false;}
else
return true;
}
答案 2 :(得分:0)
这里试试这个:
function validate()
{
var d = document;
var byId = function( id ) { return d.getElementById( id ); };
var product_name = byId('pname').value;
var p_number = byId('pnumber').value;
var description = byId('descr').value;
if(product_name=="")
{alert("Please fill Product Name"); return false;}
else if(p_number=="")
{alert("Please fill product Number"); return false;}
else if(description=="")
{alert("Please fill description"); return false;}
else
return true;
}
答案 3 :(得分:0)
修剪功能从字符串的两边删除空格。它用于验证字段中的空白区域。
所以尝试使用这种格式
if(product_name.trim().length == 0)