元素名称或id是否应该用于访问表单元素?

时间:2015-03-22 18:37:06

标签: javascript html forms dom

我正在使用jQuery验证器插件http://jqueryvalidation.org/

我发现我可以使用ID或其名称访问表单中的元素(至少使用Firefox和Chrome)。一种方式比另一种更正确和浏览器兼容吗?或者也许我应该完全做其他事情?

http://jsbin.com/daxaju/2/

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Testing</title>  
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.js" type="text/javascript"></script>
        <script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.js" type="text/javascript"></script>
        <script type="text/javascript"> 
            $(function(){
                $("#myForm").validate({
                    submitHandler: function(form) {
                        console.log('using id',form.myElementID.value);
                        console.log('using name',form.myElementName.value);
                    }
                });                
            });
        </script>
    </head>

    <body>
        <form id="myForm">
            <input type="text" name="myElementName" id="myElementID" />
            <input type="submit" />
        </form>
    </body> 
</html>

3 个答案:

答案 0 :(得分:0)

因为在input上某个名称是以某种方式需要的(我不知道文档中有关于此的内容,但如果您想稍后检索它,例如在PHP中,则应该放置{{1}它的属性),我认为通过name引用你的元素更安全。

如您所见:http://www.javascript-coder.com/javascript-form/javascript-get-all-form-objects.phtml,本机API使用该名称来引用表单元素。

答案 1 :(得分:0)

最好的方法是将id和name,jquery的id和php的名称放在一起。 对于浏览器兼容,id / name一切正常。

答案 2 :(得分:0)

通过它选择一个元素的Id是最快的。 ID(应该)在文档上是唯一的。它适用于所有浏览器。