Javascript验证-哪一个是最好的(名称或ID)

Javascript validation -Which one is best (Name or ID )

本文关键字:ID 验证 哪一个 Javascript      更新时间:2023-09-26

我有两个JavaScript验证选项,其中哪一个更适合用于验证

基于FIELD NAME 的Javascript验证
if(document.formname.uname.value=="")
{
alert("Please Enter Username");
document.formname.uname.focus();
return false;
}

基于ID的Javascript验证

if(document.getElementById('uname').value=="")
{
alert("Please Enter Username");
document.getElementById('uname').focus();
return false;   
}

避免使用id,但不要以这种方式访问表单。

这里有一些一般的经验法则:

获取表单的引用并使用

不要使用全局变量。这使得代码更易于重用。

function submitHandler (e) {
    var myForm = this;
}
document.getElementById('myForm').addEventListener('submit', submitHandler);

请注意,addEventListener虽然是标准的,但旧版本的IE不支持。使用一个库来抽象你的事件绑定。

一旦有了引用,就使用元素集合

myForm.elements.control …

其中control可以是名称或id。如果它是一个名称,并且你有多个具有相同名称的控件(例如一个复选框组),那么它将返回一个NodeList,你可以遍历。

在我看来,document.fromname.uname的第一种选择更好。使用id就像使用全局变量。为了避免冲突,最好使用表单的命名空间。

你只需要设置输入字段的name属性,而不是name和id。

这取决于您希望如何在表单中选择项。每个元素的ID总是唯一的,而名称则不必如此。因此,使用name,您可以非常简单地选择多个元素,对于使用javascript创建的具有未知数量字段的表单尤其有用。