2

所以我有一个网络表单,它有一些按钮和文本框,它们使用 ajax 显示 calendarextender。我想设置它,以便如果选中一个按钮,则还需要选择带有日历日期的相应文本框。我考虑过使用验证组,但我不希望它在按钮单击上,并且并非所有文本框日期都需要与它们对应的复选框一起选择。

他们是在 button.check 或使用 javascript 上执行此操作的方法吗?

例如:

protect void main CheckBox1_Changed(object e event args)
     {
          if(CheckBox1.Changed)
             {
                 /*some kind of validation of date chosen*/
             }
    }
4

1 回答 1

1

两个示例,一个在 C# 中,第二个在 Jquery 中。两者都使用 Postback 并显示警报。

通过 C#: (HTML)

    <asp:CheckBox ID="chk" runat="server" AutoPostBack="true"
OnCheckedChanged="chk_Changed"/>
<asp:TextBox ID="date" runat="server"></asp:TextBox>

(C#)

    protected void chk_Changed(Object sender, EventArgs e)
    {
        if (chk.Checked && date.Text.Length == 0)   
            Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script language=JavaScript>alert('This is a test');</script>");
    }

其次,这是使用 Jquery:(使用上述控件的 Javascript)

<script type="text/javascript">
$(document).ready(function() {
if ($('#chk').attr('checked')) {
    if($('#date').val().length == 0)
        alert('This is the Javascript check');
    }
});

在每种情况下,您都需要将复选框控件的 AutoPostBack 属性设置为 True

要更改文本框中的文本,您可以使用:

<script type="text/javascript">
var data = "Please enter a value!";
$(document).ready(function() {
    if ($('#chk').attr('checked')) {
        if ($('#date').val().length == 0)
            ($('#date').val(data));
    }
});

于 2012-08-31T15:35:10.200 回答