Не работает событие click

Я стараюсь посылать AJAX формуляр страницы ASPX, но он не входит в функцию события click кнопки в части языка сценариев JavaScript, я снял его runat="server" в формуляр, но меня производит ошибка; тогда не, каковой была ошибка.

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Index.aspx.vb" Inherits="Index" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
        <script type="text/javascript">
            $(document).ready(function () {
                $("#btnEnviar").click(function (e) {
                    e.preventDefault();
                    $("#lblIncorrectos").html("Procesando...");
                    var data = {
                        "userid": $("#txtUsuario").val(),
                        "password": $("#txtPassword").val(),
                        "recordarme": $("#chkRecordar").val()
                    };
                    $.ajax({
                        type: "POST",
                        url: "Index.aspx/Login",
                        data: data,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        async: true,
                        success: function (result) {
                            $("#lblIncorrectos").text(result.d);
                        },
                        error: function () {
                            $("#lblIncorrectos").html("Error");
                        }
                    });
                });
            });
    </script>
</head>
<body>
        
<form id="form1" role="login" runat="server">
<span>
    <center><img src="img/logo_naranja.gif" class="img-responsive" width="250" height="200" /></center>
</span>
<h3>Nombre de la Empresa</h3>
<div class="form-group">
    <!--<asp:TextBox ID="txtUsuario" runat="server" placeholder="Ingrese su usuario" required class="form-control"></asp:TextBox>-->
    <input type="text" name="txtUsuario" placeholder="Ingrese su usuario" required class="form-control" />
    <span class="glyphicon glyphicon-user"></span>
</div>

<div class="form-group">
    <!--<asp:TextBox ID="txtPassword" runat="server" placeholder="Ingrese su contraseña" required class="form-control" TextMode="Password"></asp:TextBox>-->
    <input type="password" name="txtPassword" placeholder="Ingrese su contraseña" required class="form-control" />
    <span class="glyphicon glyphicon-lock"></span>
</div>

<div class="form-group">
    <!--<asp:CheckBox ID="chkRecordar" runat="server" value="1" />
                    Recordarme ?-->
	<input type="checkbox" id="chkRecordar" name="remember" value="1" /> Recordarme ?
</div>
<!--<asp:Button ID="btnEnviar" runat="server" Text="Entrar" class="btn btn-block btn-primary" />-->
<button type="submit" id="btnEnviar" class="btn btn-block btn-primary">Entrar</button>
</form>
<center><asp:Label ID="lblIncorrectos" runat="server" class="alert alert-danger" rol="alert"></asp:Label></center>           

 </body>
 </html>
1
задан 05.02.2016, 01:31
3 ответа

Ты был бы должен определять кнопку как Type = "button". Или вместо которого метод работал, кликнув, что выполнил в submit form1

Менять Тип:

<button type="button" id="btnEnviar" class="btn btn-block btn-primary">Entrar</button>`

Меняя Событие

 <script type="text/javascript">
        $(document).ready(function () {
            $("#form1").submit(function (e) {
                e.preventDefault();
                $("#lblIncorrectos").html("Procesando...");
                var data = {
                    "userid": $("#txtUsuario").val(),
                    "password": $("#txtPassword").val(),
                    "recordarme": $("#chkRecordar").val()
                };
                $.ajax({
                    type: "POST",
                    url: "Index.aspx/Login",
                    data: data,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    async: true,
                    success: function (result) {
                        $("#lblIncorrectos").text(result.d);
                    },
                    error: function () {
                        $("#lblIncorrectos").html("Error");
                    }
                });
            });
        });
</script>
2
ответ дан 24.11.2019, 14:55
  • 1
    он не необходим, из-за которого он делает preventDefault, что избегает того, чтобы был послан формуляр – rnrneverdies 04.02.2016, 18:41

Я думаю, что тебе не хватало, включать ее librerГ - в jQuery

Пробуй добавляя это перед настоящими и под <title></title> <script>.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
1
ответ дан 24.11.2019, 14:55

Ты мог бы использовать Девелопер Тоольс browser (ты соглашаешься на этот с F12), чтобы инспектировать, если есть ошибка в коде javascript.

IntroducciГіn в программные средства разработки F12

En лацкан Console ты сможешь санкционировать, если какая-то ошибка в коде клиент избегает того, чтобы работало событие.

1
ответ дан 24.11.2019, 14:55