C# 验证组或显示弹出窗口(如果文本框不显示';我没有价值

C# 验证组或显示弹出窗口(如果文本框不显示';我没有价值,c#,checkbox,webforms,buttonclick,C#,Checkbox,Webforms,Buttonclick,所以我有一个webform,它有一些按钮和文本框,这些按钮和文本框使用ajax显示calendarextender。 我想将其设置为,如果选中一个按钮,则需要选择相应的带有日历日期的文本框。我考虑过使用validation group,但我不希望它出现在按钮点击上,也不希望所有的文本框日期都需要与相应的复选框一起选择 他们是通过button.check还是使用javascript来实现这一点的 例如: protect void main CheckBox1_Changed(object e ev

所以我有一个webform,它有一些按钮和文本框,这些按钮和文本框使用ajax显示calendarextender。 我想将其设置为,如果选中一个按钮,则需要选择相应的带有日历日期的文本框。我考虑过使用validation group,但我不希望它出现在按钮点击上,也不希望所有的文本框日期都需要与相应的复选框一起选择

他们是通过button.check还是使用javascript来实现这一点的

例如:

protect void main CheckBox1_Changed(object e event args)
     {
          if(CheckBox1.Changed)
             {
                 /*some kind of validation of date chosen*/
             }
    }
两个示例,一个在C#中,第二个在Jquery中。两者都使用回发并显示警报

通过C#: (HTML)


(C#)

protectedvoid chk\u已更改(对象发送方,事件参数e)
{
if(chk.Checked&&date.Text.Length==0)
Page.ClientScript.RegisterStartupScript(this.GetType(),“myScript”,“警报('这是一个测试');”;
}
其次,这是使用Jquery: (使用上述控件的Javascript)


$(文档).ready(函数(){
if($('#chk').attr('checked')){
if($('#date').val().length==0)
警报(“这是Javascript检查”);
}
});

在每种情况下,您都希望将checkbox controls 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));
    }
});

var data=“请输入一个值!”;
$(文档).ready(函数(){
if($('#chk').attr('checked')){
if($('#date').val().length==0)
($('日期').val(数据));
}
});

它可以在空的文本框或旁边显示,而不是通过弹出窗口提醒他们。尝试对文本框名称执行document.getelementbyid,但找不到有关如何执行此操作的任何信息。请参阅我的编辑。要在文本框旁边显示它,可以使用RequiredFieldValidtor控件并在jquery脚本中引用它。如何在脚本中引用fieldvalidator?当我将它添加到其中时,它会显示错误消息“总是我希望它出现在按钮单击上”。您可以从头开始进行表单验证,但如果您希望在单独的字段上进行验证,我建议使用jquery插件。这里有一个链接,我用过:很酷,谢谢你,但我找到了另一种方法,但谢谢你对原来问题的回答!
    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>");
    }
<script type="text/javascript">
$(document).ready(function() {
if ($('#chk').attr('checked')) {
    if($('#date').val().length == 0)
        alert('This is the Javascript check');
    }
});
<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));
    }
});