在来到这里之前,我尝试了stackoverflow中列出的几个链接,但没有一个帮助我解决这个问题或者可能是我做错了。
我的aspx中有一个输入按钮,并且 serverclick 事件以及 onclick ,客户端和服务器方法都被正确调用,我只是在遇到问题时' onclick'函数在外部文件中(它在同一目录中)。
我甚至在aspx中引用了js文件。
注意:
所有其他控件都在外部js中工作,除此之外。
内联函数工作正常,但在外部函数中移动时则不行。
我甚至尝试过window.onload(),但它在pageload期间触发了这个函数,这不是我需要的。
ASPX
<script type="text/javascript" src="external.js"></script>
输入按钮。
<input class="data" type="submit" name="cmdSubmit" value="Run Report" onclick="return FormValidate();"
onserverclick="RunReport" runat="server" id="Submit1" />
external.js
$(document).ready(function () {
function FormValidate() {
alert("Validated");
});
答案 0 :(得分:1)
请移除$(document).ready(function () {
周围的function FormValidate()
以使其成为全局功能。现在将它放在ready
处理程序中,你就可以使它成为一个本地范围的函数。所以你的 external.js 应该是:
function FormValidate() {
alert("Validated");
}
答案 1 :(得分:0)
如果用外部文件
编写,则需要将其定义为全局函数 function FormValidate() {
alert("Validated");
};
删除它周围的.ready(function...)
将使其成为全局的,将在html文件中调用。
答案 2 :(得分:0)
您正在限制功能范围,请将其排除在.ready(function...)
外
这将使您可以在全球范围内使用该功能