我有一个asp.net按钮:
<asp:Button ID="MainContent_ibSave" runat="server" Text="Save" />
</td>
我需要保留runat=server
因为我必须在点击后处理一些代码。
但在jquery中我有这个:
$("#MainContent_ibSave").click(function () {
if ($('#MainContent_txtShipToName').val().length == 0) {
$('#hErrorsExist').val("1");
$('#error').show();
}
else {
$('#hErrorsExist').val("0");
$('#error').hide();
}
基本上我在这里做的只是检查是否在#MainContent_txtShipToName中输入了任何文本。如果没有输入任何内容,我想抛出一条错误消息。为此,我想我会添加一个隐藏字段:
<input id="hErrorsExist" type="hidden" />
保持页面上是否存在错误的状态。 这是如此,如果表单上存在错误,我可以将值设置为1,否则我将其设置为0.
单击此按钮后,将值设置为1会显示#error(这只是一个div),但div会消失。就好像回发已经重置了hErrorsExist的值...
我甚至在我的jquery中添加了一张支票:
if ($('#hErrorsExist').val() == "0" || $('#hErrorsExist').val().length == 0) {
alert("about to hide");
$('#error').hide();
alert($('#hErrorsExist').val());
}
else {
$('#error').show();
alert($('#hErrorsExist').val());
}
这是我的文档就绪功能中的第一件事。我不知道如何处理这个,以便div #error即使在按钮回发后仍然保持不变。如果我输入一个值并验证它应该将hErrorsExist设置为0并隐藏div #error并在回发后保持div隐藏。
以下是完整的jquery:
$(document).ready(function () {
/*hide message container on top*/
//alert($('#hErrorsExist').val().length);
if ($('#hErrorsExist').val() == "0" || $('#hErrorsExist').val().length == 0) {
alert("about to hide");
$('#error').hide();
alert($('#hErrorsExist').val());
}
else {
$('#error').show();
alert($('#hErrorsExist').val());
}
$("#MainContent_ibSave").click(function () {
if ($('#MainContent_txtShipToName').val().length == 0) {
$('#hErrorsExist').val("1");
alert("Setting to 1");
alert($('#hErrorsExist').val());
$('#error').show();
}
else {
$('#hErrorsExist').val("0");
alert("Setting to 0");
alert($('#hErrorsExist').val());
$('#error').hide();
}
});
});
答案 0 :(得分:1)
你试过这个吗?
$("#<%= MainContent_ibSave.ClientID %>").click(function (arg) {
arg.preventDefault();
if ($('#MainContent_txtShipToName').val().length == 0) {
$('#hErrorsExist').val("1");
$('#error').show();
}
else {
$('#hErrorsExist').val("0");
$('#error').hide();
}
});