我有一个对话框,允许用户在提交到服务器之前输入一些文本。该文本是强制性的。
我的代码看起来像这样
这是打开对话框的Jquery代码
function onReportThis() {
$("#dialog-Report").dialog({
resizable: false,
modal: true,
width: '400px',
buttons: {
Submit: function () {
__doPostBack('<%= lnkReportThis.UniqueID %>', '');
// onReported();
},
Cancel: function () {
$(this).dialog("close");
}
}
});
$("#dialog-Report").parent().appendTo(jQuery("form:first"));
return false;
}
这是盒子本身的代码。
<div id="dialog-Report" style="display: none" title="Report This Profile">
<p>
I am reporting this profile because</p>
<asp:RequiredFieldValidator ID="validReportText" ControlToValidate="txtReportDetail" runat="server" ErrorMessage="Please enter text" ></asp:RequiredFieldValidator>
<p>
Please enter additional details regarding why you are reporting this profile</p>
<asp:TextBox ID="txtReportDetail" runat="server" Width="300px" Height="300px" TextMode="MultiLine" />
</div>
在回调之前未使用所需的字段验证程序。我如何让它工作?谢谢
更新:我已经开始工作了。
我必须这样做。
if (Page_ClientValidate()) {
__doPostBack('<%= lnkReportThis.UniqueID %>', '');
}
答案 0 :(得分:1)
我的朋友,您处于一个受伤的世界......但要回答您的问题,您需要在调用__dosubmit()
方法之前手动触发验证事件。
本文介绍了如何执行此客户端:http://fczaja.blogspot.com/2009/07/aspnet-how-to-trigger-client-side.html
基本上,您希望在提交
之前致电Page_ClientValidate();