Jquery Validator: проверка формы без отправки - PullRequest
2 голосов
/ 02 октября 2010

Привет. Я хочу проверить форму с помощью кнопки, но эта кнопка вызывает функцию .ajax для отправки формы.

Как я могу это сделать? Я ищу.

У меня был один путь, но мне интересно, есть ли легкий путь.

Как я это сделал:

1010 * Javascript *

jQuery(document).ready(function () {
      $(ACCION).validate({
                rules: {
                    StartDate: {
                        required: true,
                        australianDate: true

                    },
                    EndDate: {
                        required: true,
                        australianDate: true

                    }

                }
            });

        });
 function Mostrar() {
        var textBox = $("#StartDate");
        var textBox2 = $("#EndDate");
        if (textBox.valid() == true & textBox2.valid() == true) {
            var fechaIn = document.getElementById('FechaInicio').value;
            var fechaFin = document.getElementById('FechaFin').value;                
            jQuery(NOMBRE_GRID).setGridParam({ postData: { fecha1: textBox.val(), fecha2: textBox2.val()} })
                            .trigger('reloadGrid');
        }
    }

HTML

<form id="myForm" method="post" action="">

            <div class="editor-label">
                <%= Html.Label("Fecha Inicio") %>
            </div>
            <div class="editor-field">
                <%=Html.TextBox("StarDate", DateTime.Now.ToString("yyyy-MM-dd"))%>
            </div>
            <div class="editor-label">
                <%= Html.Label("Fecha Final") %>
            </div>
            <div class="editor-field">
                <%=Html.TextBox("EndDate", DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"))%>
            </div>           
            <input class="button button-big" name="Submit" type="button" value="Buscar Registros"
                onclick="Mostrar();" />
</form>

Интересно, что вместо использования valid () есть способ проверки всей формы.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 02 октября 2010

Вы также можете вызвать .valid() в самой форме, чтобы вызвать полную проверку:

if($("#myForm").valid()) {
0 голосов
/ 02 октября 2010

Другой вариант:

HTML

            <div class="editor-label">
                <%= Html.Label("Fecha Inicio") %>
            </div>
            <div class="editor-field">
                <%=Html.TextBox("StarDate", DateTime.Now.ToString("yyyy-MM-dd"))%>
            </div>
            <div class="editor-label">
                <%= Html.Label("Fecha Final") %>
            </div>
            <div class="editor-field">
                <%=Html.TextBox("EndDate", DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"))%>
            </div>           
            <input class="button button-big" name="Submit" type="submit" value="Buscar Registros">

Javascript

jQuery(document).ready(function () {
$(ACCION).validate({
                submitHandler: function (form) {
                    var fechaIn = document.getElementById('StartDate').value;
                    var fechaFin = document.getElementById('EndDate').value;
                    jQuery(NOMBRE_GRID).setGridParam({ postData: { fecha1: fechaIn, fecha2: fechaFin} })
                                .trigger('reloadGrid');
                },
                rules: {
                    StartDate: {
                        required: true,
                        australianDate: true

                    },
                    EndDate: {
                        required: true,
                        australianDate: true

                    }

                }
            });
    });
...