asp.net form标签嵌套 提交页面的解决方法
2009-04-01 19:30
471 查看
原帖地址: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" onclick="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" onclick="javascript:document.forms[0].action='vote.aspx';document.forms[0].submit()" />
</form>
</form>
红色部门为注要代码。
如有写的不对的地方欢迎大家指正。
这个问题的原因其实并不是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" onclick="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" onclick="javascript:document.forms[0].action='vote.aspx';document.forms[0].submit()" />
</form>
</form>
红色部门为注要代码。
如有写的不对的地方欢迎大家指正。
相关文章推荐
- ASP.NET提交后页面字体变大及页面提示转向的解决方法
- ASP.NET提交后页面字体变大及页面提示转向的解决方法
- ASP.NET页面借助IFrame提交表单数据所遇到问题的解决方法分享
- ASP.NET页面借助IFrame提交表单数据所遇到问题的解决方法分享
- asp整合到asp.net当中,当asp中form提交后,request中文名为乱码的解决方法
- ASP.NET提交后页面字体变大及页面提示转向的解决方法
- ASP.NET提交后页面字体变大及页面提示转向的最新的解决方法
- ASP.NET:Form提交中文乱码的解决方法总结
- ASP.NET提交后页面字体变大及页面提示转向的解决方法
- Asp.Net : runat="server" 的form 提交到其他页面的方法
- 用一个最简单方法解决asp.net页面刷新导致数据的重复提交
- ASP.NET-使用Alert事件导致页面错位的解决方法
- ASP.Net中防止页面刷新重复提交的几种方法
- asp.net 页面被关闭后,服务器端是否仍然执行中,解决方法
- 在asp.net中使用分帧页面时,ajax control报access denied错误的解决方法
- form提交刷新页面显示重新提交解决方法
- Win7的IIS配置asp.net出现“由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。”(图文解决方法)
- form 表的post提交,其中一个超多数据的input标签在后台获取数据被截断的解决方法
- Asp.net 解决表单提交之后 页面刷新会再次提交表单