在JavaScript中未调用Onclick函数
我花了大量时间用JavaScript解决了一个问题。代码片段如下所示。html的其他部分,在JavaScript中未调用Onclick函数,javascript,jquery,Javascript,Jquery,我花了大量时间用JavaScript解决了一个问题。代码片段如下所示。html的其他部分,表单和表格的细节在本文中被省略 <input id="btn" type="button" value="Save Customer" onclick="SaveData" /> <script lang="javascript"> function BindData(Data) { $("#status").text("Loading......"); //Th
表单
和表格
的细节在本文中被省略
<input id="btn" type="button" value="Save Customer" onclick="SaveData" />
<script lang="javascript">
function BindData(Data)
{
$("#status").text("Loading......");
//This removes all other rows except first
tbl.find("tr:gt(0)").remove();
//More logic is there to fill a table
}
function SaveData()
{
$("#status").text("Adding data. Please wait......");
var frm = $("#frmCustomer").serialize();
$.post("Submit", frm, BindData);
}
</script>
函数绑定数据(数据)
{
$(“#状态”).text(“加载…”);
//这将删除除第一行之外的所有其他行
tbl.find(“tr:gt(0)”).remove();
//有更多的逻辑来填充表格
}
函数SaveData()
{
$(“#状态”).text(“正在添加数据,请稍候……”);
var frm=$(“#frmCustomer”).serialize();
$.post(“提交”,frm,BindData);
}
HTML中onclick事件的语法定义如下:
我从链接中取出代码(认为是真实的),然后仔细查看。现在,这又提出了另一个问题:为什么必须在函数名之后提供
()
?如果语法允许只提及函数名(显然对于没有参数的函数),则可以保存2个字符 您需要在您的onclick
中包含括号
onclick="SaveData()"
注意:您已经在使用jQuery,因此不需要使用内联事件。您可以完全删除onclick=“SaveData()”
并执行以下操作:
function BindData(Data) {
// ...
}
function SaveData() {
// ...
}
$('#btn').on('click', SaveData);
值得注意的是,任何事件处理程序函数(在本例中为SaveData
函数)的第一个参数都是包含事件来源等内容的事件对象
有关事件处理的更多信息,请阅读。
onclick=“SaveData()”
?你混合使用内联事件和jquery有什么原因吗?我真傻。一直忽视这一点。也许许多来自jquery的函数调用让我想到了没有()的函数。谢谢
function BindData(Data) {
// ...
}
function SaveData() {
// ...
}
$('#btn').on('click', SaveData);