Проверка jQuery не работает при использовании ASP.NET кнопка

#jquery #asp.net #validation

#jquery #asp.net #проверка

Вопрос:

Я использую jQuery для проверки формы. Когда пользователь не заполняет форму, он получает сообщение «требуются некоторые поля». Это работает, если у меня есть кнопка ввода, но когда я меняю это на asp: button для обратной отправки веб-страницы, проверка не работает.

Как я могу решить эту проблему?

большое спасибо.

код:

    <script type="text/javascript">    
    $().ready(function()
    {         
    var validator = $("#aspnetForm").bind("invalid-form.validate", function() {         
       }).validate({
        errorElement: "em",
        errorContainer: $("#warning, #summary"),
        errorPlacement: function(error, element) {
            error.appendTo( element.parent("td").next("td") );
        },
            rules: {
              <%=TextBoxCodigo.UniqueID %>: {required: true}
                  },
            messages: {
                <%=TextBoxCodigo.UniqueID %>:{required: "Requerido"}
                }
        });

         $('#btnGuardar').click(function () {
            var txtUsuario = $('#<%= TextBoxCodigo.ClientID %>').val();
            if(validator.form())
             {            

                    $.msg({content: "valido"});

             }else{$.msg({content: "El formulario tiene "   validator.numberOfInvalids()     " errores.<br> Por favor vea los detalles indicados."});}
        });
    });

    </script> 



    public void btnGuardar_Click(object sender, EventArgs e)
    {

        BoClassCodigo boClassCodigo = new BoClassCodigo();
        boClassCodigo.CodigoDescripcion = TextBoxCodigo.Text;
        boClassCodigo.Sesion = new BoClassSesion();
        boClassCodigo.Sesion.Sesiones = (Int64)((Usuario) Session["uSession"]).Sesion;
        boClassCodigo.Sesion.Terminal = ((Usuario)Session["uSession"]).Usuario;
        string cad = BllClassCodigo.InsertarCodigo(boClassCodigo,conexion);

    }
  

Комментарии:

1. Можете ли вы опубликовать несколько примеров кода.

Ответ №1:

Из вашего вопроса, похоже, вам следует включить проверку на стороне клиента или отключить проверку на стороне клиента в зависимости от того, хотите ли вы, чтобы произошла обратная передача или нет.

Всегда рекомендуется использовать проверки как на клиенте, так и на сервере для повышения безопасности.

Ответ №2:

Я предполагаю, что ваш jQuery просматривает неправильный идентификатор.

Если у вас есть кнопка asp, подобная этой:

 <asp:Button ID="btnOne" runat="server" />
  

Ваш код jquery должен смотреть на:

 $('#<%= btnOne.ClientID %>')
  

Комментарии:

1. если я это сделаю, я не смогу увидеть кнопку на веб-странице.

2. Что значит, вы этого не видите? Как выглядит ваше определение кнопки asp?

3. кнопка во время выполнения не может быть просмотрена в веб-формах, это происходит, когда я удаляю тег runat =»server». <asp: Идентификатор кнопки =»btnGuardar» Text =»Button» /> если я использую тег runat =»server», кнопка запускает обратную отправку, и проверка jQuery не работает. 🙁

4. Опубликуйте свой код проверки jquery, вы, вероятно, делаете что-то неправильно при проверке.