Ver Mensaje Individual
  #10 (permalink)  
Antiguo 09/08/2012, 07:34
Carloosolrac
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 124
Antigüedad: 12 años, 4 meses
Puntos: 60
Respuesta: javascrip y modelo vista controlador

Mira, lo que estás haciendo acá es:

Aquí estás llamando a tu función que tendrá el valor "Enviar". La variable "src" de la función tendrá el valor de enviar, y no el valor que se ponga en el formulario.
Código HTML:
Ver original
  1. <input type="button" value="Enviar" onclick="showUser(this.value)"/>

Aquí estás haciendo una comparación absurda, ya que "str" siempre tendrá el valor "Enviar".
Y a la vez, le estás poniendo HTML al elemento nombre, lo cual, como es un INPUT, NO funcionará.
Código Javascript:
Ver original
  1. if (str=="")
  2. {
  3. document.getElementById("nombre").innerHTML="";
  4. return;
  5. }


Acá intentas que si todo está bien, que se muestre en el input #name el valor que se recibe desde el .open(). Pero como está con innerHTML, tampoco funcionará
Código Javascript:
Ver original
  1. document.getElementById("nombre").innerHTML=xmlhttp.responseText;

************************************************** ***********

Ahora si quieres que entre a otra página, y a la vez muestre el contenido que puso en el input, tienes que poner lo siguiente:

Primero le pones un nombre a tu formulario para identificarlo:
<form id="detalles" name="form" style="display:none">
(No entiendo el display :3)

Luego cambiamos el this.value desde el submit:
<input type="button" value="Enviar" onclick="showUser(this.form.nombre.value)"/>
Con this.form.nombre.value tomará el valor del input nombre.
this: Este formulario
form: nombre del formulario
nombre: id/nombre del input
value: rescatar el valor

Creamos un div de prueba, para ver dónde mostrar el valor:
<div id="mostrar"></div>

Modificamos la siguiente línea:
document.getElementById("mostrar").innerHTML=xmlht tp.responseText;

Y ahí mostrará en el div#mostrar lo que tengamos dentro de nuestro input. Y podrás manejarlo a tu modo.


************************************************** **************

Aquí un ejemplo:

Index.html
Código HTML:
Ver original
  1.     <head>
  2.         <script>
  3.             function showUser(str)
  4.             {
  5.  
  6.             if (str=="")
  7.             {
  8.             document.getElementById("mostrar").innerHTML="";
  9.             return false;
  10.             }
  11.             if (window.XMLHttpRequest)
  12.             {// code for IE7+, Firefox, Chrome, Opera, Safari
  13.             xmlhttp=new XMLHttpRequest();
  14.             }
  15.             else
  16.             {// code for IE6, IE5
  17.             xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  18.             }
  19.             xmlhttp.onreadystatechange=function()
  20.             {
  21.             if (xmlhttp.readyState==4 && xmlhttp.status==200)
  22.             {
  23.             document.getElementById("mostrar").innerHTML=xmlhttp.responseText;
  24.             }
  25.             }
  26.             xmlhttp.open('GET','hola.php?hola='+str,true);
  27.             xmlhttp.send(null);
  28.             }
  29.     </script>
  30.  
  31.     </head>
  32.     <body>
  33.  
  34.             <form id="detalles" name="form">
  35. <input type="text" size="20" maxlength="" value="" id="nombre" />
  36. <input type="button" value="Enviar" onclick="showUser(this.form.nombre.value)"/>
  37. </form>
  38. <div id="mostrar"></div>
  39.     </body>
  40. </html>

hola.php
Código PHP:
Ver original
  1. <?php
  2. $a = $_GET['hola'];
  3. echo $a;
  4. ?>


Saludos :3

PD: Si quieres datos en un input, tienes que usar:
document.nombreform.nombreinput.value = "Hola";
__________________
~~Aprendiendo.
Become a Programmer, Moth*rf*cker