验证组或显示弹出窗口(如果文本框没有值)



所以我有一个webform,它有一些按钮和文本框,可以使用ajax显示日历扩展器。我想设置它,这样如果选中了一个按钮,那么也需要选择带有日历日期的相应文本框。我想过使用验证组,但我不希望它处于按钮点击状态,也不希望所有文本框日期都需要与相应的复选框一起选择。

他们有办法在button.check或使用javascript上做到这一点吗?

例如:

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

两个例子,一个在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));
    }
});

最新更新