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

原帖地址:http://blog.cnria.com/post/aspnet-form-e5b58ce5a597-e68f90e4baa4e9a1b5e99da2e79a84e8a7a3e586b3e696b9e6b395-from-e5b58ce5a597-aspnet-e8a1a8e58d95.aspx

 

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

解决方法:通过动态改变最外层form标签的action属性来达到form嵌套使用的效果,呵呵,算是一种曲线解决方法吧。
修改上面的代码如下:
<form id="form1" runat="server">                       //这个是asp.net页面最外层form标签
        //搜索表单没有runat="server" 运行在客户端
      <form id="search" action="search.aspx">         //搜索表单 
             <input type="text" name="searchtext" id="searchtext" />
            <input name="subsearch" type="button" οnclick="javascript:document.forms[0].action='search.aspx';document.forms[0].submit()" />
      </form>
     //投票表单
     <form id="vote" action="vote.aspx">         //投票表单
             <input type="text" name="votetext" id="votetext" />
            <input name="subvote" type="button" οnclick="javascript:document.forms[0].action='vote.aspx';document.forms[0].submit()" />
      </form>
</form>

红色部门为注要代码。
如有写的不对的地方欢迎大家指正。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值