TypeError: showAddressDialog不是函数
TypeError: showAddressDialog is not a function
我通常能看到这些错误的问题,但这次我就是看不出问题是什么。
这是javascript:
<script type="text/javascript">
function showAddressDialog(aid,cno) {
jQuery('#dialog-form').load('Includes/AddressDialog.aspx', {"AddressID":aid, "Cont_no":cno}, function() {});
jQuery( '#dialog-form' ).dialog({
modal: true,
width: 750,
height: 550,
title: 'Addresses',
buttons: {
'Close': function() {
jQuery( this ).dialog( 'close' );
}
}
});
};
</script>
这是一个调用函数的html按钮:
<input name="showAddressDialog" id="showAddressDialog" type="button" value="Show Addresses" onclick="showAddressDialog('1299','0')" />
谢谢你的帮助。
此错误表示解释器没有看到函数的定义。在调用函数之前,您需要将该脚本块移动到body
标记的末尾,或者将整个函数包装在"立即调用函数"中,并在元素上添加单击事件处理程序,如
(function() {
jQuery("#showAddressDialog").click(function() {
showAddressDialog('1299', '0');
});
function showAddressDialog(aid,cno) {
jQuery('#dialog-form').load('Includes/AddressDialog.aspx', {"AddressID":aid, "Cont_no":cno}, function() {});
jQuery( '#dialog-form' ).dialog({
modal: true,
width: 750,
height: 550,
title: 'Addresses',
buttons: {
'Close': function() {
jQuery( this ).dialog( 'close' );
}
}
});
};
})();
您需要将其包装在另一个函数中的原因如下
jQuery("#showAddressDialog").click(function() {
showAddressDialog('1299', '0');
});
是because,这样就可以将参数传递给even处理程序。如果事件处理程序不需要任何额外的参数,则只需将该事件处理程序添加到input
元素中,如下所示
jQuery("#showAddressDialog").click(showAddressDialog);
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- jquery点击函数select&取消选择
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- Node.js v6.2.0类扩展不是函数错误
- 比较从函数和生成的日期对象
- jQuery中是否内置了任何字符串格式化函数
- 当js函数's已执行