Tôi có một điều khiển người dùng nơi tôi có hai bảng, một ở bên trái và bên kia ở bên phải, bên trái có một số thông tin thanh toán của khách hàng và bên phải một số thông tin giao hàng. trong thông tin giao hàng có một bộ xác nhận requiredfieldvalidator, các bảng này được gói trong bảng điều khiển cập nhật. Trạng thái mặc định là cả hai bảng hiển thị, bên dưới các bảng có hộp kiểm cho biết "Giao hàng giống như thanh toán", khi bạn kiểm tra bảng điều khiển ở bên phải "Bảng điều khiển" biến mất và sau đó bạn tiếp tục.Xác nhận người dùng vẫn hiển thị mặc dù bị vô hiệu hóa
Số phát hành: Cho phép nói tôi xóa văn bản trong Tên vận chuyển và tôi không nhấp vào bất kỳ nơi nào khác, sau đó tôi vào hộp kiểm "Giống như thanh toán" trong giây lát cho thấy xác thực màu đỏ và sau đó biến mất. Tôi đã cố gắng tạo ra một chức năng vô hiệu hóa các validator tức
RequireFieldValidator1.Enabled = false;
Nó hoạt động tốt trong các điều khoản nó không hiển thị xác nhận trước khi dissapears bảng điều khiển vận chuyển, nhưng cho phép nói rằng tôi thay đổi suy nghĩ của tôi và nhấp vào nó một lần nữa để hiển thị nó . Bây giờ khi tôi xóa tên trong bảng vận chuyển và bấm vào một nơi khác, nó không cho phép tôi đi bất cứ nơi nào nhưng nó không hiển thị văn bản xác nhận.
Vì vậy, tôi đã làm logic này:
if (ckSameBilling.checked)
{
RequiredFieldValidator.Enabled = false;
}
else
{
RequiredFieldValidator.Enabled = true;
}
Nhưng bây giờ nó quay trở lại với hành vi tương tự như tôi demostrated trên, xóa Tên Vận chuyển và nhấp checbox .. tôi có thể nhìn thấy các xác nhận màu đỏ trong giây lát.
đang liên quan
//All this is wrapped in an update panel
<asp:Panel ID="pnl" runat="server"><div>
asp:TextBox ID="txtShippingFirstName" runat="server" Width="130px" Columns="30"
MaxLength="100" asp:TextBox><div>
<asp:RequiredFieldValidator ID="Requiredfieldvalidator1" ErrorMessage="Name Required"
ControlToValidate="txt"
runat="server" Display="Dynamic" CssClass="Error">
</asp:RequiredFieldValidator>
</asp:Panel>
<div style="margin-left: 145px;">
<asp:CheckBox ID="Billing" runat="server" Font-Bold="True"
Text"Same as Billing" OnCheckedChanged="Billing_CheckedChanged"
AutoPostBack="True" />
</div>
codebehind:
protected void Billing_CheckedChanged(object sender, EventArgs e)
{
if (Billing.Checked)
{
//Disable the shipping fields validations
DisableEnable(true);
pnl.Visible = false;
}
else
{
DisableEnable(false);
pnl.Visible = true;
}
}
private void DisableEnable(bool enable)
{
if (enableFields)
{
Requiredfieldvalidator1.Enabled = false;
//a bunch of required validations below...
}
else
{
Requiredfieldvalidator1.Enabled = true;
//a bunch of required validations below..
}
}
sử dụng cách tiếp cận jquery, cảm ơn bạn rất nhiều .. Tôi không phải là một guru ở đó nhưng làm thế nào tôi có thể kiểm tra trạng thái của hộp kiểm trong jquery? (cho dù đã kiểm tra hay chưa)? Cảm ơn bạn một lần nữa – user710502