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-听起来很愚蠢,但已经尝试了很多不同的事情好几天了!!救生员。很高兴我能帮上忙,理查德。谢谢——这就是问题所在