问题描述
一个子页继承了母版页后在<asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolder1"runat="server"></asp:Content>里写代码,问题是这样的,我在这之间用了个表单<formid="lixiang1"method="post"action="ProjectManage_Build_Promote_Second.aspx"target="_self"></form>,在继承母版页之前可以window.document.getElementById("lixiang1").submit();提交表单,可现在报错了,请问,我想用相同的方法在继承母版页后用js提交表单怎么提交
解决方案
解决方案二:
看看HTML源代码,lixiang1到了客户端后是否还是lixiang1.
解决方案三:
看一下有没有必要用一下document.getElementById('<%=lixiang1.ClientID%>').submit();当然<formid="lixiang1"method="post"runat="server"action="ProjectManage_Build_Promote_Second.aspx"target="_self">的情况下。
解决方案四:
引用1楼namhyuk的回复:
看看HTML源代码,lixiang1到了客户端后是否还是lixiang1.
是的,报的错误时对象不支持此属性或方法
解决方案五:
引用2楼namhyuk的回复:
看一下有没有必要用一下document.getElementById('<%=lixiang1.ClientID%>').submit();当然<formid="lixiang1"method="post"runat="server"action="ProjectManage_Build_Promote_Second.aspx"target="_self">的情况下。
如果加上runat="server"就和母版页的表单里的runat="server"冲突了,他说只能有一个
解决方案六:
请楼上的高手帮我解决,万分感谢
解决方案七:
运行页面后查看HTML代码,看这里的formID是多少,复制替换getElementById()的参数。
解决方案八:
引用6楼qifei3317412的回复:
运行页面后查看HTML代码,看这里的formID是多少,复制替换getElementById()的参数。
就是原来的id因为form里并没有加上runat="server"
解决方案九:
asp.net里面的表单有一个就行了ID可能被你改变了把ID换下或者就使用模板页的表单其他的表单全部删除
解决方案十:
引用8楼vip__888的回复:
asp.net里面的表单有一个就行了ID可能被你改变了把ID换下或者就使用模板页的表单其他的表单全部删除
不行呀,每个子页都要提交到不同的路径下,如果只用一个怎么解决呢
解决方案十一:
ID!!ID!!
解决方案十二:
母板页里的控件ID是会变的..这是偶讨厌母板页的一个东西
解决方案十三:
引用11楼loveljsheng的回复:
母板页里的控件ID是会变的..这是偶讨厌母板页的一个东西
可我用的form没有加runat="server",执行完查看源代码,id也没有变化
解决方案十四:
路过
解决方案十五:
帮你顶
解决方案:
up!
解决方案:
引用11楼loveljsheng的回复:
母板页里的控件ID是会变的..这是偶讨厌母板页的一个东西
我也觉得是这个问题,在内容页中,看到的母版页中控件ID,是会改变的。前面加上了前缀:ct100_ContentPlaceHolder1_lixiang1
解决方案:
不能自定义<Form/>。这不是Asp。这是没办法的事,这是现在Asp.net的规定。
解决方案:
asp.net的做法是,在aspx中统一地处理所有提交的值。如果你一个页面中有很多内容需要跳转到不同的页面显示结果,你可以先在这个aspx中处理提交的值,然后使用一句Response.Redirect(....)跳转到新页面去显示结果。
解决方案:
今天才遇到这个问题,真可惜啊,不要通过ID来提交就是了加了母版页后ID会发生变化!