同一页面两张form表单内可以有相同name和id的input吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同一页面两张form表单内可以有相同name和id的input吗相关的知识,希望对你有一定的参考价值。

一个页面中有两个表单,由前台选择提交哪一张表单,由于两张表单内容很多都是复用的,比如说box.name都有这一项并且提交到数据库中同一张表的同一个字段,这样的话应该怎么提交,两个表单中可以用相同的input标签id和name吗?在线等,有点急 谢谢大家~!

你可以把ID给改了,同一张页面中不要出现多个相同ID,其它的input 属性可以是相同 name,
当你点击哪个表单的提交按钮时提交的就是当前的表单,而跟另一张表单没有关联,一样是可以提交成功的说。
参考技术A 1,可以
2,虽然可以这样存在,但会影响功能使用
3,当你提交时你获取的数据会被后加载的那个input替代,也就是说,有时候这个能得到值,有时候哪个能得到值,会混淆。不推荐这样使用
参考技术B 无论可不可以,我都不推荐这样写代码。

从直观的角度来说,如果有两个重复的 input ,发送的单表肯定会出现不合理的地方。我虽然没有仔细读这一段执行标准,但作为前辈 我明白这样的代码肯定会存在某种安全隐患。

所以作为好的习惯,我会告诉你不可以。
参考技术C 可以!!!!!!!!!!!!!!!!!!!!

form表单中的id与name

 

id:唯一一个,可直接获取对应元素

name:可以多个name相同,在form中的表单,提交的时候会以name中的值=‘xxx’的形式,相当于键值的形式把数据提交到action中的页面。

只是有一个地方值得注意,下面这一个输入用户名的input标签中,如果令id=‘name‘,在后面的代码中console.log(name)虽然可以得到id为name的元素 [object HTMLInputElement],但name.onfocus事件却不起作用,只有把id=‘name‘改成别的才行,但没想出来为什么

<label for=‘name‘>名称</label>
?<input type="text" id=‘name‘ name=‘name‘/>
<script>
var name=document.getElementById(‘name‘);

console.log(name);

name.onfocus=function(){

alert(name);
}
</script>

以上是关于同一页面两张form表单内可以有相同name和id的input吗的主要内容,如果未能解决你的问题,请参考以下文章

form表单中的id与name

一个页面提交多个表单

html里name和id的区别

<form name="form" id="form">是啥意思?

w3cschool javascript学习

在 html 页面内的 javascript 中访问 django 表单变量