问题描述
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="HTMLPage.aspx.cs"Inherits="HTMLPage"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdxhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><scripttype="text/javascript">functionButton1_onclick(){//varpf=parent.document.getElementsByTagName("frame");//pf[1].src="curve_mmi.aspx@locate="abc"";//window.framesmainFrame.location=curve_mmi.aspx@locate="abc";window.top.mainFrame.location.href="curve_mmi.aspx";}</script></head><bodystyle="background-color:#ffffff"><formaction="curve_mmi.aspx?locate='abcd'"target=mainFrameid="form1"method="post"runat="server"><p><inputid="Button1"type="button"value="button"onclick="returnButton1_onclick()"/></p></form></body></html>点击“BUTTON1”按钮,就是不执行,真不知错哪儿了,救命啊
解决方案
本帖最后由 zjf_dcxx 于 2015-03-02 08:54:36 编辑
解决方案二:
//是C语法的注释符html里的注释符难道不应该是<!---->这种东西吗
解决方案三:
按你这个代码你这应该是采用框架的,这页有放在框架里么?
解决方案四:
是有框架的,首页里有框架定义的:<framesetrows="150,*"frameborder="yes"border="1"framespacing="1"><framesrc=""name="leftFrame"scrolling="NO"><framesetcols="210,*"framespacing="2"frameborder="yes"border="1"><framesrc="HTMLPage.aspx"name="leftFrame"scrolling="NO"><framesrc=""name="mainFrame"></frameset>
解决方案五:
写成这样就能正常执行:<p><inputid="Button1"type="button"value="button"onclick="window.top.mainFrame.location.href='curve_mmi.aspx'"/></p>但是放在JS函数里就不行,提示:Button1_onclick()函数未定义
解决方案六:
java走c语法的,//注释应该可以的吧
解决方案七:
要么把return去掉看看!!
解决方案八:
onclick="Button1_onclick"
解决方案九:
试了试,去了return也不行。普通的JS函数调用咋这么难呢,真让人绝望
解决方案十:
请用英文括号
解决方案十一:
测试代码没有问题,看看你运行出来的HTML源码什么样子?
解决方案十二:
onclick=“f1()"functionf1(){alert(0);}
解决方案十三:
window.top.mainFrame.location.href="curve_mmi.aspx";你在这段代码前加alert(0);会不会是浏览器兼容性问题??有些浏览器不支持这些代码?
解决方案十四:
真心感谢各位帮忙!代码中用的都是英文符号。关键,好像还没运行到代码就报错了,点击"Button1"按钮后,系统弹出出错对话框:JavaScript运行时错误:"Button1_onclick"未定义。
解决方案十五:
但,如果把<p><inputid="Button1"type="button"value="button"onclick="Button1_onclick()"/></p>改成:<p><inputid="Button1"type="button"value="button"onclienteclick="Button1_onclick()"/></p>系统不报错了,但点击“Button1”按钮后,什么反应也没有。
其他方案:
Button1_onclick这个函数名称似乎不太好。。换一个比如ChangeIframeLocation最好和功能一样的。。
其他方案:
去掉head节点中的runat=server
其他方案:
函数名换成ChangeIframeLocation,还是不灵。事实上,Button1_onclick()是我双击Button1控件之后,系统自动生成的响应函数。去掉head节点中的runat=server,依然如故。都说JAVA,ASPX好学,才上手试试。不料给小弟一个下马威,而且是上天无路,下地无门的感觉,随便一个小问题,就能搞上好几天到一个星期。
其他方案:
没问题的,是给js代码进行注释。直接在onclick中调用函数写法不是:onclick="Button1_onclick()"么?而且这儿的form表单你不删掉,会自动提交的。window.
其他方案:
window.top.mainFrameisundefined
其他方案:
如果不使用"input(Button)“控件,使用”input(submit)“控件,即:<inputid="Submit1"type="submit"value="submit"/>,无需在其中指定”onclick=“处理函数,只要点击”input(submit)“控件,即自动递交。因为小弟还想在递交时传递参数过去,所以就用的"input(Button)“控件,指定”onclick=Button1_onclick()",并希望在函数中带上参数一并传过去,如下functionButton1_onclick(){window.framesmainFrame.location=curve_mmi.aspx@locate="abc";},试试看不行,就把参数去掉,改成如下:functionButton1_onclick(){window.framesmainFrame.location=curve_mmi.aspx;}怎么试都不行。不想,连Button1_onclick()这个函数名都死活不认。不是:window.top.mainFrameisundefined,而是:Button1_onclick未定义。小弟在想,是不是某个最基础的东西未搞清楚呢?
其他方案:
我试在建了一个新页面,将楼主的代码放在里面执行,因为没有框架,所以在点了按钮后提示“window.top.mainFrame.location.href="curve_mmi.aspx";”这句错误。这说明按钮已经调用了JS了啊。
其他方案:
我从doctype开始复制到一个新页里,一个是提示title应至少出现一次,另一个是target="mainFrame"没有引号改完点按钮提示的是Cannotreadproperty'location'ofundefined,也就是应该已经进到函数里了吧?
其他方案:
设置断点做调试,看哪里问题
其他方案:
很可能是你iframe先加载,而你JS还没有加载.才提示未定义.是不是JS放下面了?
其他方案:
我如zbdzjx所说,也新建个文档,试了试。天啊,什么也没改,真OK了!谢天谢地,更要谢zbdzjx!有空我再把代码整下,发上来,让更多的初学者借鉴下。有时就是,重新做一遍,省得在正确的路上不断尝试错误手段,生命耽误不起啊!
其他方案:
你这个方法returnButton1_onclick()本身就没有意义这里的意思是根据返回值来确实表单是否提交你没有返回任何值
其他方案:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="HTMLPage.aspx.cs"Inherits="HTMLPage"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title></title><scripttype="text/javascript">functionButton1_onclick(){window.top.mainFrame.location.href="curve_mmi.aspx";}</script><styletype="text/css">#Button1{height:167px;width:190px;z-index:1;left:16px;top:402px;position:absolute;margin-left:2px;margin-top:0px;}</style></head><bodystyle="background-color:#ffffff"><formaction="curve_mmi.aspx?locate='abcd'"target=mainFrameid="form"method="post"runat="server"><h1align="center">设备分布</h1><hr/><div></div> </form><p><inputid="Button1"type="button"value="button"onclick="Button1_onclick()"/></p></body></html>按以上代码,点击“Button1”按钮,框架:mainFrame即正确装载curve_mmi.aspx页面,OK了。
其他方案:
感谢回帖的所有朋友,想给zbdzjx分,却不知怎么给?
其他方案:
因为首次登陆,也不知有多少分,100分成张空头支票,zbdzjx是在抱歉。
其他方案:
其他方案:
引用17楼zjf_dcxx的回复:
函数名换成ChangeIframeLocation,还是不灵。事实上,Button1_onclick()是我双击Button1控件之后,系统自动生成的响应函数。去掉head节点中的runat=server,依然如故。都说JAVA,ASPX好学,才上手试试。不料给小弟一个下马威,而且是上天无路,下地无门的感觉,随便一个小问题,就能搞上好几天到一个星期。
看到Button1_onclick()是我双击Button1控件之后,系统自动生成的响应函数这句话之后,我就明白了,Button1_onclick()不是你双击Button1控件之后自动生成的后台方法吗,好像你还把它删了还怎么的,然后提示未定义,这根本就不是你JS里面定义的方法。应该就是这样子的,喵!