2012-05-24 146 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)並且與後面的代碼中的變量名稱匹配。你原來的代碼會起作用,我認爲你的通配符是錯誤的。 –