asp.net form标签嵌套 提交页面的解决方法

这个问题的原因其实并不是asp.net 运行机制的原因,而是因为在html中本身就不允许form标签嵌套使用,我试过document.getelementbyid("search") 语句但并不能得到search表单对象,因为在浏览器解析html是时候会忽略form标签中又嵌套的form标签。

解决方法:通过动态改变最外层form标签的action属性来达到form嵌套使用的效果,算是一种曲线解决方法。

修改上面的代码如下:

1 <form runat="server"> //这个是asp.net页面最外层form标签

2 //搜索表单没有runat="server" 运行在客户端

3 <form action="search.aspx"> //搜索表单

4 <input type="text" name="searchtext" />

5 <input name="subsearch" type="button" onclick="javascript:document.forms[0].action='search.aspx';document.forms[0].submit()" />

6 </form>

7 //投票表单

8 <form action="vote.aspx"> //投票表单

9 <input type="text" name="votetext" />

10 <input name="subvote" type="button" onclick="javascript:document.forms[0].action='vote.aspx';document.forms[0].submit()" />

11 </form>

12 </form>

onClick为注要代码。