我在ASP.NET中有一個按鈕。當用戶點擊按鈕時,我想事先做一些驗證,所以回發僅在驗證方法返回true時纔會發生。按鈕 - 只有在JavaScript函數返回true時才做回發
我的想法是使用OnClientClick按鈕的邏輯。如果你說OnClientClick =「return false;」,它不會給回發,而返回true將會。然而,這是行不通的,因爲最終的行爲是即使我的jQuery方法返回,它也不會進行回發。
目前我有:
標記:
<asp:Button runat="server" ID="ReplyBtn" OnClientClick="return ValidateInput();" OnClick="ReplyBtn_Click" CssClass="btn-large btn-success"
Text="Answer" />
的JavaScript:
function ValidateInput() {
var value = stripHtml(CKEDITOR.instances['ReplyBox'].getData()).trim();
var options = {
type: "POST",
url: "../../Services/ForumOperationService.svc/ReplyToPostFeedback",
data: '{"content":"' + value + '"}',
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#StatusReplyLbl").text(msg.ReplyToPostFeedbackResult);
if (msg.ReplyToPostFeedbackResult) {
return false;
} else {
return true;
}
},
error: function() {
return true;
}
};
$.ajax(options);
return false;
}
function stripHtml(str) {
return $('<div />', { html: str }).text();
}
所以基本上,有什麼不對的代碼?在回發前我怎樣才能在我的按鈕上執行驗證?
謝謝 - 該解決方案的工作,並將短期工作.. :-)我們將定義考慮觸發回發代替。再次感謝。 –