Foros del Web » Programando para Internet » Javascript »

Ingresar un valor y que aparesca en otro lugar de la pagina

Estas en el tema de Ingresar un valor y que aparesca en otro lugar de la pagina en el foro de Javascript en Foros del Web. Hola, tengo una consulta, como puedo hacer para que al ingresar un valor en un <input type="text" autocomplete="off" name="talla_1" value="<?=$ficha["tela"]?>" onmouseup="tallas_A(this.form)" size="3" /> y que ...
  #1 (permalink)  
Antiguo 09/11/2009, 15:29
 
Fecha de Ingreso: abril-2009
Mensajes: 31
Antigüedad: 15 años, 7 meses
Puntos: 0
Ingresar un valor y que aparesca en otro lugar de la pagina

Hola, tengo una consulta, como puedo hacer para que al ingresar un valor en un

<input type="text" autocomplete="off" name="talla_1" value="<?=$ficha["tela"]?>" onmouseup="tallas_A(this.form)" size="3" />

y que se me muestre en otro text, una vez que uno haya ingresado el valor en el primer text

<input type="text" autocomplete="off" name="talla_med_1" value="<?=$ficha["tela"]?>" size="3" readonly/>
  #2 (permalink)  
Antiguo 09/11/2009, 15:47
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 5 meses
Puntos: 53
Respuesta: Ingresar un valor y que aparesca en otro lugar de la pagina

Primero necesitas definir el evento que usaras, mencionas que al ingresar un valor, puedes usar el keyup, keydown, keypress, una vez que le agregues el listener al evento que mas te convenga toma los elementos con "document.getElementById" y luego puedes acceder a todas sus propiedades, asignale un nuevo valor con la propiedad "value" y listo :D

Si no sabes ocmo agregar eventos a un elemento: https://developer.mozilla.org/en/DOM...dEventListener
Si no sabes como tomar un elemento por su ID: https://developer.mozilla.org/en/DOM...getElementById


saludos
  #3 (permalink)  
Antiguo 10/11/2009, 06:43
 
Fecha de Ingreso: abril-2009
Mensajes: 31
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ingresar un valor y que aparesca en otro lugar de la pagina

Gracias..., no te habia entendido, pero ya si, gracias, ya entiendo lo que me dices, gracias, me diste una idea de como hacerlo...

Última edición por milky; 10/11/2009 a las 07:03
  #4 (permalink)  
Antiguo 10/11/2009, 10:32
 
Fecha de Ingreso: abril-2009
Mensajes: 31
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ingresar un valor y que aparesca en otro lugar de la pagina

Ah ya encontre una respuesta, y si bien no quería usar ajax, me vi obligada a hacerlo, en fin dejo la respuesta, que puede ser util a mas de alguien, si alguien tiene una solucion mas sencilla avise.

Bueno paso a explicar:

1. en este input ingreso el valor.

<input type="text" autocomplete="off" name="talla_1" value="<?=$ficha["talla_1]?>" id="talla_1" onkeyup="showHint(this.value)" />

2. donde quiero que aparezca e valor.

<span id="talla_med_1"></span>

3. Codigo ajax

<script type="text/javascript">
var xmlhttp
function showHint(str){
if (str.length==0){
document.getElementById("talla_med_1").innerHTML=" ";
return;
}
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null){
alert ("Tu navegador no soporta XMLHTTP!");
return;
}
var url="talla.php";
url=url+"?q="+str;
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function GetXmlHttpObject(){
if (window.XMLHttpRequest){
// codigo para IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject){
// codigo para IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
function stateChanged(){
if (xmlhttp.readyState==4){
document.getElementById("talla_med_1").innerHTML=x mlhttp.responseText;
}
}
</script>

4.archivo talla.php.

<?php

$q=$_GET["q"];

if (strlen($q) > 0){
$hint="";
for($i=0; $i<count($q); $i++){
if ($hint==""){
$hint=$q;
}else{
$hint=$hint." , ".$q;
}
}
}

if ($hint == ""){
$response="no suggestion";
}else{
$response=$hint;
}

//output the response
echo $response;
?>

Espero que le sirva a alguien, ya que a mi si, igual puede que alguien lo haga de manera más facil pero a mi se me ocurrio asi y viendo codigos logre adaptar uno, si alguien tiene otra manera que aporte.

Suerte...

Última edición por milky; 10/11/2009 a las 10:40
  #5 (permalink)  
Antiguo 10/11/2009, 12:05
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 5 meses
Puntos: 53
Respuesta: Ingresar un valor y que aparesca en otro lugar de la pagina

amigo tu código tiene un tremendo fallo de seguridad, facilmente te podrían hacer un XSS, simplemente así:

http://localhost/talla.php?q=<script>alert(1)</script>

y boommm!! podría programar cualquier cosa poniendo en peligro tu sitio.

saludos
  #6 (permalink)  
Antiguo 10/11/2009, 12:10
 
Fecha de Ingreso: abril-2009
Mensajes: 31
Antigüedad: 15 años, 7 meses
Puntos: 0
Sonrisa Respuesta: Ingresar un valor y que aparesca en otro lugar de la pagina

Si?, y tienes alguna manera de mejorarlo o de implementarlo de otra manera?, se aceptan ideas.

y gracias por el dato, ya que no programo mucho en ajax.
  #7 (permalink)  
Antiguo 17/12/2009, 14:56
 
Fecha de Ingreso: abril-2009
Mensajes: 31
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ingresar un valor y que aparesca en otro lugar de la pagina

He querido dar la respuesta a esta pregunta, después de tiempo quebrándome la cabeza, y después de haber solucionado de una manera demasiado complicada y poco segura como me dijo el usuario stock , encontré una solución que me sorprende lo simple que es, y ni siquiera necesite de ajax, basta solo con un simple javascript. Este es un ejemplo muy simple.

<script type="text/javascript">
function copiar(frm) {
frm.address1.value = frm.t1.value;
frm.address2.value = frm.t2.value;
frm.address3.value = frm.t3.value;
}
</script>

<form>
<br>
<table>
<tr>
<td><input type=text name="t1" onkeyup="copiar(this.form)" /></td>
<td><input type=text name="t2" onkeyup="copiar(this.form)" /></td>
<td><input type=text name="t3" onkeyup="copiar(this.form)" /></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><input type="text" name="address1" /></td>
<td><input type="text" name="address2" /></td>
<td><input type="text" name="address3" /></td>
</tr>
</table>
</form>

Espero que le sea útil a alguien que al igual que yo, esta en busca de la solución a este problema.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:28.