所以我有一个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));
}
});