Table标签与Form标签
最近在做php作业的是时候,遇到个小问题。然后经过一点一点的删代码,不停的搞,我发现问题就是出在再使用js动态生成一些标签的时候,同时又把form
嵌在了table
里面造成的,因为如果不用js动态生成标签,或者是table
嵌在form
里面的时候都不会出现问题,而且是在chrome和Edge浏览器都有这个问题。而且我在网上查了一个哈,确实也有人跟我遇到了同样的情况,比如 这篇文章
问题代码如下:
<html>
<head>
<meta charset="UTF-8" />
</head>
<body>
<table>
<form action="test.php" method="post" >
<tr>
<td id="huxing">
</td>
</tr>
<tr>
<td>
<input type="submit" value="提交" />
</td>
</tr>
</form>
</table>
</body>
<script type="text/javascript" >
(function (){
addRadio("套一/套二/套三/其它户型/", 'radio', 'huxing', 'huxing');
}())
function addRadio(source, type, tt, name){
var td = document.getElementById(tt);
var shuzu = source;
var temp = "";
for(var i = 0; i < shuzu.length; i++){
if(shuzu[i] == '/'){
var input = document.createElement('input');
input.type = type
input.name = name;
input.value = temp;
td.appendChild(input);
var font = document.createElement('font');
font.textContent = temp;
td.appendChild(font);
temp = "";
continue;
}
temp += shuzu[i];
}
}
</script>
</html>
可以看到id
为huxing
的标签下面我是通过js动态生成的四个标签,但是这个时候点提交,跳转到php后就会出现一个问题
但是如果是不用js动态生成标签而直接写死标签就不会出现这种情况,或者把table
标签写在form
标签里面也不会有这个问题。
我觉得要把这个问题研究透只有研究html和js这两门语言的实现,或者甚至要切搞清楚
浏览器的源码。。。