Así que ¿cómo puedo obtener el valor de la variable de fichero php con jquery…?
el código jquery es en otro archivo (tpl)

por ejemplo tengo register.php y registro.tpl (archivo de plantilla para register.php)

register.php

 ...some includes here...



if(isset($_POST['submit'])) {
    $username = mysql_real_escape_string(trim($_POST['username']));
    $email = mysql_real_escape_string(trim($_POST['email']));
    $check = $mysql->query("SELECT username FROM ".TBL_USERS." WHERE username = '".$username."' OR email = '".$email."'");
$rows_check = mysql_num_rows($check);
if($rows_check > 0) {
    echo 1;
} else {
    $password = mysql_real_escape_string($_POST['password']);
        $salt = generate_salt($email);
        $hash = hash_password($password, $salt);
        $q = $mysql->query("INSERT INTO ".TBL_USERS." (username, password, email, salt) VALUES ('".$username."', '".$hash."', '".$email."', '".$salt."')");
        if($q) {
            header("Location: index.php");
        } else {
            die(mysql_error());
        }   
    }
} else {
.. calling parse template function ...
}

registro.tpl

 ..jquery library included..
    <form id="register" action="register.php" method="post">
       <tr>
       <td>Username</td>
       <td><input type="text" id="username" name="username" class="register" style="width: 200px;" />
    </td>

correo electrónico

…otras entradas…

$(«#nombre de usuario»).blur(function()
{

var email_v = $("#email").val();
 $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
 $.post("register.php",{ username:$(this).val(), email: email_v, submit: true } ,function(data)
 {
  if(data=="1") 
  {
   $("#msgbox").fadeTo(200,0.1,function()
   {

    $(this).html('This User name Already exists').addClass('messageboxerror').fadeTo(900,1);
   });
  }
  else
  {
   $("#msgbox").fadeTo(200,0.1,function() 
   {
    $(this).html('Username available to register').addClass('messageboxok').fadeTo(900,1);
   });
  }
 });
});
</script>

cuando me cambiaron todo register.php para propósitos de prueba a

o

el guión trabajado…sin embargo con la versión original se muestra siempre que el nombre de usuario está disponible…

  • Hay varias formas de pasar los valores de php Jquery, pero usted necesita para publicar algunos de su código para proporcionarle la mejor manera para que su caso…
  • se han actualizado los ejemplos
  • Lo de las plantillas de la biblioteca estás usando? ¿Cómo se incluyen los valores de PHP en la plantilla? ¿Puede dar un ejemplo de una variable en el archivo tpl?
  • ¿Eso realmente importa? Otras de las funciones de jquery son de trabajo, el sistema de plantillas demasiado…como ya he dicho he intentado borrar las pruebas de php con el siguiente código: <?php echo 1; ?> y funcionó…así que probablemente algo está mal con echo o lo que…y pensé en pasar valores de la variable como una solución de (+ eco se veía muy malo para mí)
InformationsquelleAutor | 2010-06-23

4 Comentarios

  1. 5

    Mejor apuesta es a la salida de la variable de PHP como un campo oculto o una variable de JavaScript:

    <input type="hidden" id="my_var" name="my_var" value="<?php echo($my_var); ?>" />
    
    //access it like this:    
    alert($('#my_var').val());

    o

    <script type="text/javascript">
        var my_var = <?php echo($my_var); ?>;
    </script>
    
    //access it like this
    alert(my_var);

    Que debe hacer 🙂

  2. 0

    Ya sea que usted haga una Jquery Ajax que se solicita una página php que le devuelva lo que usted desea o le echo una variable de javascript con php

    <?php 
      echo '<script> var javascript_variable = "whatever"; </script>'; 
    ?>
  3. 0

    Funcionará si usted

    echo "1";

    y, a continuación,

    if(result == "1") {

    Si no (pero he comprobado en un código de la mina sin las comillas, no de trabajo, con, estaba bien), comprobar la respuesta de la consola de Firebug.

    • nah..he intentado esto..ya no funciona 🙁
    • a continuación en la página register.php, tienes que tener otros elementos, además de su echo «1» (consulte la incluye). Lo que hace la consola de firebug indica en la respuesta de la parte?
    • Veo que en tu $.post no hay que presentar : la verdadera ou presentar: * por lo que $_POST[‘enviar’] no existe.
    • el infierno se trabajó un tiempo…ahora no… actualizado el código…
  4. 0

    En situaciones donde mi empresa las necesidades de la aplicación para llamar a Jquery en un elemento dinámico y tenemos la llamada Jquery EN el archivo php vamos a llamar directamente a php, Jquery llamada.

    Por ejemplo:

    alert($(‘#’).val());

    No para todas las situaciones, sin duda. Si usted tiene que llamar a una variable en la que no tiene PHP de acceso al archivo (posiblemente como un .archivo tpl, dependiendo de su configuración) puede recurrir a la configuración de una entrada ocultos, como se detalló anteriormente.

    • pero ese no es el caso…necesito post, en primer lugar y, a continuación, obtener un valor…y ahora el problema es con la configuración de los valores expuestos en jquery de la manera correcta

Dejar respuesta

Please enter your comment!
Please enter your name here