2

したがって、ajaxを使用してcalendarextenderを表示するいくつかのボタンとテキストボックスを持つWebフォームがあります。ボタンがチェックされている場合、対応するカレンダー日付のテキストボックスも選択する必要があるように設定したいと思います。検証グループを使用することを考えましたが、ボタンをクリックしたくないだけでなく、対応するチェックボックスとともにすべてのテキストボックスの日付を選択する必要はありません。

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

2 つの例。1 つは C#、2 番目は 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 に答える