2011-09-22 41 views
1

我javscript验证两个选项。其中其中一个更好的用于验证JavaScript验证哪位一个是最好的(名称或ID)

JavaScript验证基于字段名称

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

的Javascript基于ID的验证

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

*更好*在哪些方面?只要你可以很容易地得到元素的参考,这与imo无关。 –

+0

@Felix Kling:基于验证。 – karthick

回答

0

在我看来,第一个选项document.fromname.uname更好。使用ID就像一个globale变量。最好使用表单的命名空间来避免冲突。

此外,您只需设置输入字段的名称属性而不是名称和ID。

0

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

2

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

这里有一对夫妇的拇指一般规则:

获取对窗体的引用和使用

不要使用全局变量。这使代码更加可重用。

例如

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

注意addEventListener,而标准的,不被旧版本的IE支持。使用库来抽象你的事件绑定。

一旦你有一个参考,使用元素集合

myForm.elements.control … 

哪里control可以是一个名称或ID。如果它是一个名称,并且您有多个具有相同名称的控件(例如复选框组),那么它将返回一个可以迭代的NodeList。

相关问题