[英]How to call a clientside script function first and then call a server side button click event?
在這里,我試圖使用jquery對文本框進行電子郵件驗證,並在onclientclick上調用該函數,我也有一個按鈕點擊事件。但是按鈕點擊事件在javascript函數之前觸發。我需要在觸發前驗證文本框按鈕單擊事件。這是我的代碼
$(document).ready(function () {
$("#MainContent_txtEmail").blur(function () {
ValidateEmail();
});
function ValidateEmail()
{
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
var emailaddress = $("#MainContent_txtEmail").val();
if (!emailReg.test(emailaddress)) {
$("#emailspan").html('<font color="red" size=2px;>Please enter valid Email address</font>');
return false;
}
else {
$("#emailspan").html('<font color="red"></font>');
return true;
}
}
});
和
<asp:TextBox ID="txtEmail" name="txtEmail" runat="server" CausesValidation="false" TextMode="Email">
</asp:TextBox><span id="emailspan" value="0"></span>
<asp:Button ID="btnsubmit" CssClass="btn pdf-submit" runat="server" Text="SEND" OnClientClick="return ValidateEmail();" OnClick="btnsubmit_Click"/>
和我的活動
protected void btnsubmit_Click(object sender, EventArgs e)
{
SendSmtpEmail(txtEmail.Text, "noreply@a.net", "test", "test-template");
}
有什么建議??
嘿在你的代碼中::
`$("#MainContent_txtEmail").blur(function ()
為什么你要調用函數你可能需要改變它
$("#txtEmail").blur(function ()`
這會工作我猜!
您將要刪除OnClick for btnsubmit
<asp:Button ID="btnsubmit" CssClass="btn pdf-submit" runat="server" Text="SEND" OnClientClick="return ValidateEmailThenSubmit();" />
然后在驗證后在代碼中手動單擊btnsubmit。
function ValidateEmailThenSubmit()
{
ValidateEmail();
$("#" + <%= btnsubmit.ClientID %>).click();
}
為什么要使用javascript? 只需使用asp.net RegularExpressionValidator,如下所示:
<asp:RegularExpressionValidator ID="regexEmailValid" runat="server" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ControlToValidate="tbEmail" ErrorMessage="Invalid Email Format"></asp:RegularExpressionValidator>
更多信息請訪問http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.regularexpressionvalidator.aspx
在作為$ .ready()方法的參數傳遞的匿名方法內聲明ValidateEmail()方法是不可見的。
在$(document).ready之外獲取ValidateEmail方法,它應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.