Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: margarita02 en 24 Febrero 2011, 15:41 pm



Título: copiar valor de caja de texto en otras cajas de texto
Publicado por: margarita02 en 24 Febrero 2011, 15:41 pm
tengo una caja de texto : <input type:"text" name="vr1" onChange="document.form.x.value=this.value">

necesito copiar el dato que escriba en esa caja en esta otra :

<input type='text' style='font-size: 10px' name='".$x."' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'>

es de nombre $x ya que me resulta de una consulta realizada en php y mysql.

Muchas gracias por su colaboracion


Título: Re: copiar valor de caja de texto en otras cajas de texto
Publicado por: cassiani en 24 Febrero 2011, 18:29 pm
Posrias hacerlo así:
Código:
function changevalue()
{
   //obtenemos el objeto del elemento de id x..
   var text2 = document.getElementById('x');

   //aca asignas los valores a las cajas de texto declaradas
   text2.value =document.getElementById('vr1').value;
   // ...
   // ....
}

Código:
<input type='text' id='vr1' name="vr1" onkeyup='changevalue();'>
<input type='text' id='x' style='font-size: 10px' name='x' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'>

Si el nombre del elemento X es dinámico, lo actualizas en la función JS.


Título: Re: copiar valor de caja de texto en otras cajas de texto
Publicado por: Shell Root en 24 Febrero 2011, 20:45 pm
Pero necesitas pasarla a una variable en PHP? Porque no usas peticiones (GET/POST)


Título: Re: copiar valor de caja de texto en otras cajas de texto
Publicado por: margarita02 en 24 Febrero 2011, 21:19 pm
Muchas gracias por tu colaboracion, pero no me funciona.

El formulario es para ingresar las notas de unos estudiantes, la caja de texto de la cual necesito compiar el valor es donde el docente puede ingresar una nota general (la mas repetida ) y quedan las otras con ese valor
<input type="text" name="gral" id="vr1"  onkeyup="changevalue();">
asi solo debe cambiar las notas menos frecuentes.

Por eso la caja de texto donde se va ha copiar el valor tiene como nombre una variable $x y se encuentra dentro de un while resultande de una consulta a mysq mas o menos asi:

$x= 1;
 while($row1 =@mysql_fetch_array($result1))
      {
<input type='text' style='font-size: 10px' name='".$x."' id='vr' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'>
}
$x= $x+1;
       
Si me pudieras colaborar te lo agradeceria muchisimo llevo todo el dia dandole vuelvas y no he logrado nada... (Y no soy experta en javascript)


Título: Re: copiar valor de caja de texto en otras cajas de texto
Publicado por: Shell Root en 24 Febrero 2011, 22:23 pm
Aún no entiendo lo que quieres hacer, pero supongo que con el código anterior deberá ser así,
Código
  1. $x= 1;
  2. while( $row1 =@mysql_fetch_array( $result1 ) ){
  3.  print "<input type='text' style='font-size: 10px' name='".$x."' id='vr' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'>";
  4.  $x++;
  5. }


Título: Re: copiar valor de caja de texto en otras cajas de texto
Publicado por: margarita02 en 24 Febrero 2011, 22:55 pm
No la idea es que con el javascript coja el valor de la caja de texto : <input type="text" name="gral" id="vr1"  onkeyup="changevalue();">

y lo copie a otra caja de texto que se encuentra dentro de un while y su nombre es dado por una varible que va cambiando.

<input type='text' style='font-size: 10px' name='".$x."' id='vr' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'>


Título: Re: copiar valor de caja de texto en otras cajas de texto
Publicado por: cassiani en 24 Febrero 2011, 23:09 pm
ehm.. te voy a dejar un ejemplo para que tengas una idea, pero no es la mejor forma de hacerlo, si no sabes usar AJAX otro ejemplo te complicaría.

De igual manera me parece innecesario trabajarlo así, porque si lo que vas a hacer luego, es almacenar en los campos correspondiente en la base de datos el valor de esa nota mas repetida, no hace falta actualizar los text, lo puedes hacer omitiendo eso.

La funcion JS queda así:
Código:
function changevalue(total)
{   //declaras una variable y un array
   var i,ArrayText = new Array();
   // obtienes el valor del elemento vr1
   text1=document.getElementById('vr1').value;

   // actualizas cada text
   for(i=1; i<=total; i++)
   {
      ArrayText[i] = document.getElementById(i);
      ArrayText[i].value=text1;
   }
}

Luego de que hagas la consulta a la base de datos, imprimes los input text así:
Código
  1. $x= 1;
  2. while($row1=@mysql_fetch_array($result1))
  3. {
  4.   $sCadena.= "<input type='text' id='$x' style='font-size: 10px' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'><br/>";
  5.  $x++;
  6. }
  7. echo "<input type='text' id='vr1' name='vr1' onkeyup='changevalue($x);'><br/>",$sCadena;

Como todos los elementos son similares, lo que hacemos es almacenarlos en una variable a medida que se actualiza el ID del elemento y concatenamos, para luego de que se imprima el text vr1, se impriman seguidamente los demás, fíjate que la función changevalue se llama pasándole un valor por parámetro que es el total de input/text que se imprimirán tras la consulta a la BD.

Lo imprimirá así:
Código:
<input type='text' id='vr1' name="vr1" onkeyup='changevalue(5);'><br/>
<input type='text' id='1' style='font-size: 10px' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'><br/>
<input type='text' id='2' style='font-size: 10px' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'><br/>
<input type='text' id='3' style='font-size: 10px' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'><br/>
<input type='text' id='4' style='font-size: 10px' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'><br/>
<input type='text' id='5' style='font-size: 10px' size='5' value ='0,0' onchange='checkDecimals(this.value, this.value)'><br/>

Luego cuando agregues o cambies valores en el text vr1, todos los demás se actualizaran con ese valor.

Espero te sirva.


Título: Re: copiar valor de caja de texto en otras cajas de texto
Publicado por: margarita02 en 24 Febrero 2011, 23:45 pm
Mil y mil gracias, me ayudaste bastante, me funciono perfecto.