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<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 originalif (str=="")
{
document.getElementById("nombre").innerHTML="";
return;
}
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 originaldocument.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 function showUser(str)
{
if (str=="")
{
document.getElementById("mostrar").innerHTML="";
return false;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("mostrar").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open('GET','hola.php?hola='+str,true);
xmlhttp.send(null);
}
<form id="detalles" name="form"> <input type="text" size="20" maxlength="" value="" id="nombre" /> <input type="button" value="Enviar" onclick="showUser(this.form.nombre.value)"/>
hola.php
Saludos :3
PD: Si quieres datos en un input, tienes que usar:
document.nombreform.nombreinput.value = "Hola";