我有一個asp.net按鈕,它具有基本上將數據添加到數據庫的單擊事件。我也有一個單選按鈕(即批准/拒絕)和一個文本框。如果用戶選擇拒絕,文本框變得可見。我想運行驗證,當用戶單擊提交按鈕時,如果選擇了拒絕,那麼文本框不能爲空。我已經使用jQuery驗證。當我點擊按鈕時,文本框旁邊的消息應用程序需要該字段,但它不會停止執行後面的代碼。即它將數據添加到數據庫中。這是我的代碼。jquery驗證不會停止執行「code behind」代碼的asp.net按鈕
<script type="text/javascript" language="javascript">
$(function() {
$('#declinediv').hide();
////////
var $radBtn = $("table.rblist input:radio");
$radBtn.click(function() {
var $radChecked = $(':radio:checked');
var value = $radChecked.val();
if (value == 'Decline' || value == 'Approve') {
if (value == 'Decline')
$('#declinediv').show();
else
$('#declinediv').hide();
}
else {
$('#declinediv').hide();
}
});
//////////////////////////
$("#aspnetForm").validate({
rules: {
<%=txtdeclinereason.UniqueID %>: {
minlength: 2,
required: true
}
}, messages: {
<%=txtdeclinereason.UniqueID %>:{
required: "* Required Field *",
minlength: "* Please enter atleast 2 characters *"
}
}, onsubmit: true
});
//////////////////////////////////
$('#btnsubmit').click(function(evt){
var isValid = $("#aspnetForm").valid();
if (!isValid)
{
evt.preventDefault();
}
});
});
function myredirect(v, m, f) {
window.location.href = v;
}
</script>
<table style="border: 1px black solid; text-align: center; vertical-align: middle"
width="100%">
<tr>
<td>
<asp:RadioButtonList ID="rbtnlstapprover" runat="server" RepeatDirection="Horizontal"
CssClass="rblist" DataTextField="username" DataValueField="emailaddress">
<asp:ListItem Text="Approve" Value="Approve" />
<asp:ListItem Text="Decline" Value="Decline" />
</asp:RadioButtonList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="rbtnlstapprover"
Text="*" ErrorMessage="Please select atleast one Approver" ValidationGroup="approvalgroup"
Display="Dynamic" />
</td>
</tr>
<tr>
<td>
<div id="declinediv">
<asp:TextBox ID="txtdeclinereason" runat="server" TextMode="MultiLine" Columns="80"
Rows="5" />
</div>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnsubmit" runat="server" Text="Submit" CssClass="RegularButton"
CausesValidation="true" ValidationGroup="approvalgroup" OnClick="btnsubmit_Click" />
</td>
</tr>
</table>
如何停止執行代碼?謝謝你的幫助。
編輯:
我能夠通過添加的OnClientClick事件按鈕
if ($('#declinediv').is(':visible'))
{
var isValid = $("#aspnetForm").valid();
alert(isValid);
if (isValid)
return true;
else
return false;
}
else
{
return true;
}
OnClientClick是在按鈕和回發之間獲取的唯一方法。即使持有form.submit()人質也會對IE沒有好處。 – DevelopingChris 2010-04-23 13:42:21
Thanks.It工程。我在文本框旁邊收到錯誤消息。有沒有任何方式可以使用對話框ui彈出錯誤消息? – shahk26 2010-04-23 18:31:32