2012-05-24 148 views
0

我有下面的代码,但它不会触发,或者当我点击保存按钮时不显示任何错误。你能不能让我知道可能是什么问题?谢谢。JQuery提交按钮不会触发

<script type="text/javascript"> 
$(document).ready(function() { 
    $('input[id*=btnSave]').click(function() { 
    var txtFirstName = $('input[id*=txtFirstName]').val(); 
    var txtLastName = $('input[id*=txtLastName]').val(); 
    var errMsg = ''; 
    var errMsg = "<ul>"; 
    if (txtFirstName == '') { 
     errMsg = errMsg + "<li>First Name is required</li>"; 
     return false; 
    } 
    if (txtLastName == '') { 
     errMsg = errMsg + "<li>Last Name is required</li>"; 
     return false; 
    } 
    errMsg = errMsg + "</ul>"; 
    }); 
}); 
</script> 

<telerik:RadTextBox ID="txtLastName" runat="server" /> 
<telerik:RadTextBox ID="txtFirstName" runat="server"/> 
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click"></asp:Button> 
+0

哪里是'btnSave_Click'功能 – thecodeparadox

+0

它在我后面的代码页。 – nav100

+0

这意味着你想要实现多个进程提交按钮点击? – thecodeparadox

回答

0

试试这个:

<script type="text/javascript"> 
      $(document).ready(function() { 
       $('#btnSave').click(function() { 

        var txtFirstName = $('#txtFirstName').val(); 
        var txtLastName = $('#txtLastName').val(); 
        var errMsg = ''; 
        var errMsg = "<ul>"; 
        if (txtFirstName == '') { 
         errMsg = errMsg + "<li>First Name is required</li>"; 
         return false; 
        } 
        if (txtLastName == '') { 
         errMsg = errMsg + "<li>Last Name is required</li>"; 
         return false; 
        } 
       errMsg = errMsg + "</ul>"; 
       }); 
      }); 
    </script> 
1

我觉得你选择行需要有各地的id值引号:

$('input[id*="btnSave"]').click(function() { 
1

我觉得

$('input#btnSave').click(function() { 

}); 

就足够了。

不需要使用

$('input[id*=btnSave]') 

,并在那里为你btnSave_Click功能

0

它的工作原理,当我使用

$('#<%= btnSave.ClientID %>').click(function() 
+0

将生成,但id将设置为“ctl100_btnSave”之类的值,具体取决于按钮本身嵌套在其他服务器控件中的深度,如主页和等等。答案中的例子起作用的原因是因为ClientID属性是您设置的值(btnSave)并且与后面的代码中的变量名称匹配。你原来的代码会起作用,我认为你的通配符是错误的。 –