Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML表单|始终使用ID访问_Javascript - Fatal编程技术网

Javascript HTML表单|始终使用ID访问

Javascript HTML表单|始终使用ID访问,javascript,Javascript,我想为一致性选择一个(尽管我认为这不重要),并通过document.getElementById()使用id…。 不再使用 js访问的名称属性 表单数组访问 这上面有很多帖子…但只是为了让生活变得简单,不再去想它…我只使用ID 这个选择有什么问题吗 我不太关心N5、N6和W3规范 以下是一些类似的帖子: 假设ID用于页面上每个元素的唯一ID。因此,在同一个文档中有多次是无效的 但是。。。NAME属性可以在html标准中合法地重复。在表单输入项上使用名称时,cgi接收的值基于名称=值对。ID没

我想为一致性选择一个(尽管我认为这不重要),并通过
document.getElementById()使用id…。

不再使用

  • js访问的名称属性
  • 表单数组访问
这上面有很多帖子…但只是为了让生活变得简单,不再去想它…我只使用ID

这个选择有什么问题吗

我不太关心N5、N6和W3规范

以下是一些类似的帖子:


假设ID用于页面上每个元素的唯一ID。因此,在同一个文档中有多次是无效的

但是。。。NAME属性可以在html标准中合法地重复。在表单输入项上使用名称时,cgi接收的值基于名称=值对。ID没有固有的名称


老实说。。我认为你在这里混合了苹果和橙子,因为两者有着非常不同的目的。

如果对每个表单输入使用id,当你在一个页面上有多个表单且有多个输入时,你应该注意每个输入的标识符的唯一性。 因此,标识符可以变长,如“我的表单用户名”和“我的其他特殊表单用户名”等

因此,我建议为表单元素提供一个id,按id检索表单,然后按名称引用其元素。为一些表单创建唯一且可读的标识符比为5个表单的50个字段(每个表单中有10个字段)创建标识符更容易。 而且代码可能更具可读性

<h4>Article form</h4>
<form id="article-form" method="post">
    <label>Title:</label>
    <input name="title" type="text" />
    <label>Text:</label>
    <textarea name="text"></textarea>
    <input type="submit" name="submit" value="Comment" />
</form>

<hr />

<h4>Support form</h4>
<form id="support-form" method="post">
    <label>Title:</label>
    <input name="title" type="text" />
    <label>Text:</label>
    <textarea name="text"></textarea>
    <input type="submit" name="submit" value="Submit issue" />
</form>
<script type="text/javascript">
    var article = document.getElementById('article-form'),
        ticket = document.getElementById('support-form');

    article['title'].value = 'My Article';
    article['text'].value = 'The text of my article...';

    ticket['title'].value = 'I found bug at your site';
    ticket['text'].value = 'Bug description...';
</script>
文章格式
标题:
正文:

支持表格 标题: 正文: var article=document.getElementById('article-form'), 票证=document.getElementById('support-form'); 文章['title']。价值='myarticle'; article['text'].value='The text of my article…'; 票证['title'].value='I在您的站点发现bug'; 票证['text'].value='Bug description…';


但是,如果您使用的是我的示例中的标签,并且希望在标签中为使用属性来将它们绑定到输入,那么您仍然需要为这些输入提供标识符。

因此,您的问题是省略
名称
属性是否不好?是的,普通表单提交不再有效。您已经提到了其他方式。通过ID直接访问对我来说很有意义。使用您觉得最合适的任何方式,但表单元素必须具有
名称
属性。将名称发送到服务器以标识数据。不发送没有
名称
属性的元素的值。