ASP.NET中的FORM表单产生的JS错误问题,如何解决?

chequan 2004-05-06 05:02:44
在aspx页面中我直接调用的用户控件,比如:
<mybbs:forumhome id="forumhome1" runat="server" />
然后在用户控件forumhome中是完整的页面内容,比如:
<html>
<title>mybbs</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<form id="Form1" method="post" runat="server">

<asp:LinkButton id="LinkButton1" runat="server">LinkButton</asp:LinkButton>

</form>
</body>
</html>
然而访问页面出现js错误。调试发现错误在于:
<script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["forumhome:Form1"];
}
else {
theform = document.forumhome:Form1;
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>
这个js函数,而且就是其中的
theform = document.forms["forumhome:Form1"];

theform = document.forumhome:Form1;
这两个语句出错。其实可能问题就在于forumhome:Form1在js中是错误的表达式。
产生的HTML代码中的FORM部分为
<form name="forumhome:Form1" method="post" action="index.aspx" id="forumhome_Form1">
请问这个问题该如何解决,谢谢!
...全文
74 12 点赞 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chequan 2004-05-07
但问题是我不能去掉该控件呀。请问有其它的解决办法吗?
  • 打赏
  • 举报
回复
Seeko0 2004-05-07
以前也有人问过想同的问题,原因可能就是在你设计的用户控件里面包含了form控件,去掉该控件即可
  • 打赏
  • 举报
回复
chequan 2004-05-07
我是页面上没有Form,只在用户控件中有Form,因此整个aspx也就相当于只有一个Form
  • 打赏
  • 举报
回复
WZCNet 2004-05-07
确保用户控件中没有<form></form>标记,因为一个页面只能有一个Form,你现在的页面有了,用户控件中就不能要,否则会出错的。
  • 打赏
  • 举报
回复
vzxq 2004-05-07
帮你UP
  • 打赏
  • 举报
回复
udonome 2004-05-07
用户控件放到<form></form>中去
  • 打赏
  • 举报
回复
chequan 2004-05-07
1、根据页面模板的需求,需要将form写在控件中,而不是写在aspx中
2、__doPostBack是系统生成的,我没法修改的呀!

谢谢!请各位帮我顶顶!!!
  • 打赏
  • 举报
回复
Seeko0 2004-05-07
在用户控件中去掉form控件,在*.aspx中加入form控件;
或者你可以试着改写一次
function __doPostBack(eventTarget, eventArgument) {
var theform;
theform = document.forms[0];
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
  • 打赏
  • 举报
回复
chequan 2004-05-06
大家快帮我看看,谢谢了!!!
  • 打赏
  • 举报
回复
chequan 2004-05-06
没有。调用控件的页面就只有一个调用控件的语句,比如:
<mybbs:forumhome id="forumhome1" runat="server" />
其它什么也没有。因此产生的整个html文件也就只有一个form。
  • 打赏
  • 举报
回复
vzxq 2004-05-06
学习,帮你UP
  • 打赏
  • 举报
回复
wanwenguo 2004-05-06
调用这个控件的页面是不是也有一个Form?
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-05-06 05:02
社区公告
暂无公告