ASPX中不能执行JS函数,提示未定义,真要命,求大侠帮忙

问题描述

<%@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>&nbsp;</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里面定义的方法。应该就是这样子的,喵!

时间: 2024-08-02 19:29:22

ASPX中不能执行JS函数,提示未定义,真要命,求大侠帮忙的相关文章

a s j-ADO.NET使用三层架构实现用户登录出现错误,提示未定义Common,求怎么修改,

问题描述 ADO.NET使用三层架构实现用户登录出现错误,提示未定义Common,求怎么修改, using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlContro

ExtJS按钮传参到JSP页面中默认执行JS函数

问题描述 ExtJS 界面有一个打印按钮,点击打印按钮传个参数param1到JSP页面中,然后在执行一个fn函数,执行打印过程,这块应该如何写呢,请大家给个思路 解决方案 点击buttion handler事件, 然后到action, 通过action返回到jsp页面, 在jsp页面可以执行其他的fn函数 ,然后window.print()即可

ASP.NET 中aspx文件的TextBox在aspx.cs文件中无法被引用,提示未将对象引用设置到对象的实例。

问题描述 ASP.NET中aspx文件的TextBox在aspx.cs文件中无法被引用,提示未将对象引用设置到对象的实例.vs2012 解决方案 解决方案二:既然可以执行,说明变量有定义.你自己定义了变量?解决方案三:在vs工具上,你的代码,点击鼠标右键,你可以看到许多调试开发工具功能,例如各种"重构",还有"查看定义"."查找所有引用"等等.要想找到一个变量的定义是不是有歧义,你得直接借助这些工具找到其定义的地方.如果不会使用vs开发工具,那么

hadoop-win7下cygwin执行ssh-host-config后提示未找到命令,怎么解决?

问题描述 win7下cygwin执行ssh-host-config后提示未找到命令,怎么解决? 已经是用管理员身份打开cygwin了! 解决方案 这个和你的windows 7和cygwin没关系,你的主机上是否有对应的服务和命令.

程序启动过程-vb.net中在执行form_load()函数之前都会对程序函数执行什么操作?

问题描述 vb.net中在执行form_load()函数之前都会对程序函数执行什么操作? 为啥我用于写.txt文件的Public的函数会在form_load之前执行导致.txt文件数据被删除? 解决方案 贴出你的代码. 在运行 form_load 前会执行 form的构造函数(New函数) 解决方案二: form.loader 之前你是不是以创建的打开了文件?

.net-ADO.NET使用三层架构实现用户登录出现错误,提示未定义Common,怎么解决

问题描述 ADO.NET使用三层架构实现用户登录出现错误,提示未定义Common,怎么解决 using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls

浅谈js函数的多种定义方法与区别_javascript技巧

定义一个函数一般有如下三种方式: 1.函数关键字(function)语句: function fnMethodName(x){ alert(x); } 2.函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} 3.Function()构造函数: var fnMethodName = new Function('x', 'alert(x);') 上面三种方法定义了同一个方法函数fnMethodName,第1种就是最常

Java中构造函数File(String)未定义

问题描述 Java中构造函数File(String)未定义 package nmd; import java.io.*; public class FileHello { public static void main(String[] args) { try { Runtime ec=Runtime.getRuntime(); File file=new File("file.txt"); ec.exec(file.getAbsolutePath()); } catch (Excep

JS函数为定义问题,浏览器老是显示函数fun2( )未定义

问题描述 JS函数为定义问题,浏览器老是显示函数fun2( )未定义 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>改变图案的形状和颜色</title> <script type="text/javascript"> function fun1(){ document.body.innerHTML = &quo