1

フォームにdatetimepickerをブートストラップします。これは、ページの残りの部分にデータを入力するための必須フィールドです。

送信ボタンを使用すると検証を行うことができますが、datetimepickerの値をフィールドに入力するチェックボックスがあります。

送信せずにdatetimepickerの検証を行うには、チェックボックスが必要です。

私のコードは次のようになります。

//My datepicker
<div id="dtpDate" class="input-append" >
    <input required data-format="yyyy-MM-dd" type="text" style="width: 75%;" />
    <span class="add-on">
        <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i>
    </span>
</div>

//Checkbox to cause validation
<div>
    <input type="checkbox" data-bind="checked: setdate, click: setdates"/>
</div>


//My Script
$(document).ready(function () {
    $("form").validate();
});

$(function () {
    $('#dtpDate').datetimepicker({
        pickTime: false
    })
});

チェックボックスで検証を行うにはどうすればよいですか?(提出なし)

よろしくお願いします

4

3 に答える 3

1

.valid()チェックボックスをクリックしたときにテキストフィールドを検証するために使用します。

jQuery :

$(document).ready(function () {

    $("form").validate({
        // your options & rules
    });

    $('#mycheck').click(function () {
        $('#myfield').valid();
    });

});

HTML :

<form>
    <input required="required" type="text" name="myfield" id="myfield" />
    <input type="checkbox" name="mycheck" id="mycheck" />
    ...
</form>

実際のデモ: http://jsfiddle.net/rzjRM/

于 2013-02-27T15:33:59.450 に答える
1

日時フィールドを検証するには、validate() を呼び出した後に.valid()を呼び出します。

$(document).ready(function () {
    // initialise validation
    $("form").validate();

    // validated the datetime field on checkbox click
    $('#your_checkbox_id').click(function()
      $('#your_datetime_field').valid();
    });
});
于 2013-02-27T13:48:57.097 に答える
1

編集:これは機能しており、jsfiddle でテストされています。

<form>
<div>
    <input required type="text" />
</div>
<div>
    <input type="checkbox" class="checkBox" />
</div>
<div>
    <input type="submit" />
</div>
</form>

JavaScript

//My Script
$(document).ready(function () {

    $('.checkBox').click(function(){
        if($(this).is(':checked')){
            $('form').valid();
        }
    });
});

$(function () {
    $('#dtpDate').datetimepicker({
        pickTime: false
    });
});
于 2013-02-27T09:33:20.450 に答える