使用jquery附加时,onclick不会为提交输入触发

时间:2012-08-31 17:36:22

标签: javascript jquery html

HTML:

<input id="save "type="submit" value="Create" class="btn btn-primary"/>

注册onclick的javascript(IsValid是一个在提交前验证的函数,返回false为false)

$('#save').click(function () {  
 return IsValid();
});

请注意,如果我写下这个完全相同的代码:

 <input id="save "type="submit" value="Create" class="btn btn-primary" onclick='javascript: IsValid();'/>

这是另一种不修改标记的选项(createForm是表单)

$('#createForm').submit(function () {   
 return IsValid();
});

为什么$('')。click没有注册我的事件处理程序?

表格如下:

 <form method="post" id="createForm" class="well" action="/ScheduleWorkDay/Create" novalidate="novalidate">

3 个答案:

答案 0 :(得分:0)

您的事件处理程序没有注册,因为表单上没有标识为save的处理程序,但有一个save(带空格)。删除空格。

<input id="save" type="submit" value="Create" class="btn btn-primary"/>

$('#save').click(function () {  
   return IsValid();
});

应该没有问题。

A jsFiddle showing it working

答案 1 :(得分:0)

也许您的id有空格或者您没有使用document.ready()

这是工作演示

<input id="save" type="submit" value="Create" class="btn btn-primary"/>
$(document).ready(function(){
$('#save').click(function () {  
 alert("invalid");
 });
});

Demo

答案 2 :(得分:0)

MrOBrian是对的。问题在于

 <input id="save " 

在id名称中有一个额外的空格。谢谢!