Javascript </表格>;在错误的位置自动添加到我的HTML
我有一个页面,我希望如下:Javascript </表格>;在错误的位置自动添加到我的HTML,javascript,html,Javascript,Html,我有一个页面,我希望如下: a <form action POST> select List1 - with onchange set populate list 2 select List2 populated using JavaScript <div id="secondList"></div> with an <input type="submit" value="Assign"> close the </form>
a <form action POST>
select List1 - with onchange set populate list 2
select List2 populated using JavaScript <div id="secondList"></div>
with an <input type="submit" value="Assign">
close the </form>
a
选择列表1-使用onchange集合填充列表2
选择使用JavaScript填充的列表2
带着
关闭
第二个填充列表很好。问题似乎是(在FireBug中选中时)出于某种原因移动了/form标记,因此顺序如下所示:
<form action POST> </form>
select list 1 - correct
list 2 - correctly populated
the <input type="submit" value="Assign">
选择列表1-正确
列表2-正确填充
这个
为什么会发生这种情况?我们如何才能绕过这个问题
HTML代码
<tr>
<form action="webiste/assignToDepartment.php" method="post">
<td>
<select selected="All" name="firstItem" onchange="checkTeacherList(this.value)">
<option value="item1">item1</option>
<option value="item2">item2</option>
<option value="item3">item3</option>
</select>
</td>
<td>
<div id="secondList"></div>
</td>
<td>
<input type="submit" value="Assign">
</td>
</form>
</tr>
项目1
项目2
项目3
您的
元素必须放置在
项中
和
是
的唯一有效子级。或者,由于表单跨越多个列,因此需要将表单环绕包含的
,例如:
<form>
<table>
</table>
</form>
您的表单元素应该放在标记内或整个表的周围使您的html如下所示
<form action="webiste/assignToDepartment.php" method="post">
<table>
<tr>
<td>
<select selected="All" name="firstItem" onchange="checkTeacherList(this.value)">
<option value="item1">item1</option>
<option value="item2">item2</option>
<option value="item3">item3</option>
</select>
</td>
<td>
<div id="secondList"></div>
</td>
<td>
<input type="submit" value="Assign">
</td>
</tr>
</table>
</form>
项目1
项目2
项目3
Firebug的HTML窗格不显示服务器发送的原始HTML。相反,它显示了一个具有文档结构的漂亮树形图,该树是用文档节点的内存表示构建的。不可能构建无效的树,因此需要修复或忽略无效的HTML
如果通过传递HTML(如果未提供完整文档,则可能需要选中“验证HTML片段”选项),您将看到它报告有关文档结构的多个错误:
- 文档类型此处不允许元素“XXXX”
- 未完成的“XXXX”的结束标记
另外,虽然通常对如何处理有效的HTML有确切的规范,但无效的HTML通常由浏览器自行决定。这是避免使用无效标记的一个很好的理由:不同浏览器呈现这些标记的方式可能存在巨大差异。select中有一个div?请尝试先验证您的markup@FabrizioCalderanselect???中的div????哪里或者我是盲人,或者你记得关闭输入标签。通过验证器()运行页面是避免将来出现类似问题的一个好方法。@PauloRoberto-它在问题的第一个和第二个代码块中。tr元素后面跟着td,然后在td表单中可能出现无效的markupBrilliant-听起来很愚蠢,但已经尝试了很多不同的事情好几天了!!救生员。很高兴我能帮上忙,理查德。谢谢——这就是问题所在