Soy bastante nuevo en ajax y estoy trabajando con jquery mobile. Lo que estoy haciendo es un formulario de inicio de sesión dentro de una ventana emergente y tengo el código para hacer tanto trabajo, pero no estoy seguro sobre cómo conectar los dos para que realmente funciona.

Aquí es el pop-up html

<a href="#popupLogin" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="check" data-theme="a" data-transition="pop">Login</a>
        <div data-role="popup" id="popupLogin" data-overlay-theme="a" data-theme="a" class="ui-corner-all">
        <form id="popuplogin">
            <div style="padding:10px 20px;">
                <h3>Please Login</h3>
                <label for="un" class="ui-hidden-accessible">Username:</label>
                <input type="text" name="user" id="un" value="" placeholder="username" data-theme="a">
                <label for="pw" class="ui-hidden-accessible">Password:</label>
                <input type="password" name="pass" id="pw" value="" placeholder="password" data-theme="a">
                <button type="submit" data-theme="b" data-icon="check">Sign in</button>
            </div>
        </form>
        </div>

y aquí está mi script. Mi pregunta es ¿cómo puedo conectar los dos juntos.

$("#popupLogin").submit(function() {
$.ajax({
type: "POST",
url: "submiturl",
data: $("input#name").val(),
success: function(html) {
  //show the confirmation inside the popup
}
})
})

Para ser honesto, yo no estoy seguro de que estoy totalmente de entender el ajax, pero si alguien me podría ayudar a entender esto. sería muy apreciado.

  • No hay forma con el ID form, así que nada de que se dispare. Por no hablar de que tiene 3 diferentes etiquetas que tienen el IDENTIFICADOR de popuplogin que no es válido HTML5. Los identificadores deben ser únicos.
  • así entendí la parte en el comienzo del ajax yo no entender completamente cómo esa porción de código funciona. también el código que he usado es directamente desde el jquery mobile web
  • Independientemente de donde usted lo consiguió, no hay forma con el id «forma», por lo que el ajax no será llamado. Ni tampoco existe una entrada con el identificador «nombre», por lo que no hay valor que se tenía. Cuando se envía el formulario, el jQuery se desencadenan debido a que se activa cuando el formulario es enviado. Cuando se activa, se llama a la función ajax.
  • ok, así que lo cambié a llamar popupLogin. ¿puede por favor explicar cómo que el ajax funciona. como donde voy a ir yo a trabajar a mi php para trabajar con los datos?
  • Type:»POST» – significa que los datos se envían a través de los post, lo que significa que la URL no contienen los datos. url: URL de los datos serán enviados. Si la URL es www.mywebsite.com/derp.php, derp.php recibirá los datos. De datos – los datos pasados en el POST para ser manejado por su código de servidor. Éxito – una función anónima que recibe una «devolución de llamada» en el código del servidor. Nada de salida en el código del servidor devolverá si la llamada es correcta.
  • mi otra cosa es que me di cuenta de que, cuando presente el formulario de la url cambia y muestra los datos en la url
  • Tendrías que configurarlo como data: "key="+$("#selector").val()

InformationsquelleAutor Josh C. | 2013-10-18

3 Comentarios

  1. 1

    intentar algo como esto.

    <button type="button" data-theme="b" data-icon="check" data-inline="true" onclick="validLogin()">Sign in</button>

    mediante la adición de la onclick su llamada a su función de javascript. I. E de conectar las dos Piezas de código

    A continuación, en el javascript de hacer algo como esto.

    function validLogin(){
    var uname=$('#uname').val();
    var password=$('#password').val();
    $.ajax({
        type: "POST",
        url: "scripts/processed.php",
        data: {"uname": uname, "password":password},
        cache: false,
        success: function(result){
            var result=trim(result);
            if(result=='correct'){
                window.location='index.php';
                $('#loginForm').submit();
            }else{
                $("#loginerror").html(result);
                return false;
            }
        }
    });
    }

    que debe hacer lo que quiera.

  2. 0

    Ver esta fila:

    <a href="#popupLogin" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="check" data-theme="a" data-transition="pop">Login</a>

    y

    <form id="popuplogin">

    cambio <a href="#popupLogin" a <a href="#popuplogin"

    • Falso, se debe cambiar el ID por completo, como debe ser el único 100%.
    • en la ventana de cargas muy bien lo que va a cambiar que hacer?
  3. 0

    Su emergente código es correcto.
    Me gustaría cambiar el código del formulario para

    <form id="formLogin" action="@submitUrl" method="post">

    A continuación, su botón de enviar se debe enviar el formulario de datos sin tener que hacer ningún javascript.

Dejar respuesta

Please enter your comment!
Please enter your name here