Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中未调用Onclick函数_Javascript_Jquery - Fatal编程技术网

在JavaScript中未调用Onclick函数

在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

我花了大量时间用JavaScript解决了一个问题。代码片段如下所示。html的其他部分,
表单
表格
的细节在本文中被省略

<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);