Foros del Web » Programando para Internet » Javascript »

asignar campos de textarea a inputs

Estas en el tema de asignar campos de textarea a inputs en el foro de Javascript en Foros del Web. hola estoy tratando de asignar los campos de un textarea a 4 campos de inputs para separar lo que hay dentro de un text area, ...
  #1 (permalink)  
Antiguo 07/06/2011, 15:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 0
asignar campos de textarea a inputs

hola estoy tratando de asignar los campos de un textarea a 4 campos de inputs
para separar lo que hay dentro de un text area, pero soy algo nuevo en php y no logro hacer esto.

esto es lo que he encontrado y logrado

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<p>
  <label for="prueba"></label>
  <textarea name="prueba" id="prueba" cols="45" rows="5"></textarea>
</p>
<p>
  <label for="1"></label>
  <input type="text" name="a" id="a" />
</p>
<p>
  <input type="text" name="b" id="b" />
</p>
<p>
  <input type="text" name="c" id="c" />
</p>
<p>
  <input type="text" name="d" id="d" />
</p>
<p>
  <input type="submit" name="ok" id="ok" value="Enviar" />
</p>
</body>
</html>

<?
$texto 
nl2br($_POST['prueba']);
$lineas explode  '<br />'  $texto );

foreach (
$lineas as $k => $v) {
    echo 
"<SCRIPT>document.form.a.value=\"hey\";
    </SCRIPT>"
;
}  
?>
  #2 (permalink)  
Antiguo 07/06/2011, 15:29
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: asignar campos de textarea a inputs

Carai como asignar un te3xtarea a 4 input en que sentido hablas no se te entiende mucho y al final solo tienes html nada de php...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #3 (permalink)  
Antiguo 07/06/2011, 15:31
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: asignar campos de textarea a inputs

si yo tampoco entendi que pdo
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #4 (permalink)  
Antiguo 07/06/2011, 15:41
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: asignar campos de textarea a inputs

el código php lo puso mas abajo Potro, mueve el scrollbar XD

lamentablemente PHP no opera así, solo entrega la página al cliente, para hacer ese tipo de cosas debes usar javascript

este es el equivalente a tu código en javascript:

Código Javascript:
Ver original
  1. function picando(){
  2. var texto=document.getElementById('prueba').value;
  3. texto=texto.replace("\n","<br>");
  4. texto=texto.replace("\r","<br>");
  5. var lineas=texto.split("<br>");
  6.  
  7. document.getElementById('a').value=lineas[0];
  8. document.getElementById('b').value=lineas[1];
  9. document.getElementById('c').value=lineas[2];
  10. document.getElementById('d').value=lineas[3];
  11. }

y tu botón tendría que ser así:

Código HTML:
Ver original
  1. <input type="button" name="ok" id="ok" value="Bot&oacute;n" onclick="picando();" />
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 08/06/2011, 01:11
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 0
Respuesta: asignar campos de textarea a inputs

Cita:
Iniciado por stramin Ver Mensaje
el código php lo puso mas abajo Potro, mueve el scrollbar XD

lamentablemente PHP no opera así, solo entrega la página al cliente, para hacer ese tipo de cosas debes usar javascript

este es el equivalente a tu código en javascript:

Código Javascript:
Ver original
  1. function picando(){
  2. var texto=document.getElementById('prueba').value;
  3. texto=texto.replace("\n","<br>");
  4. texto=texto.replace("\r","<br>");
  5. var lineas=texto.split("<br>");
  6.  
  7. document.getElementById('a').value=lineas[0];
  8. document.getElementById('b').value=lineas[1];
  9. document.getElementById('c').value=lineas[2];
  10. document.getElementById('d').value=lineas[3];
  11. }

y tu botón tendría que ser así:

Código HTML:
Ver original
  1. <input type="button" name="ok" id="ok" value="Bot&oacute;n" onclick="picando();" />
entonces aver si no me aquivoco php se ejecuta del lado del servidor y solo se devuelve al cliente lo ejecutado

hola muchas gracias por la respuesta y por el codigo

saludos
  #6 (permalink)  
Antiguo 08/06/2011, 01:47
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 0
Respuesta: asignar campos de textarea a inputs

hola, he encontrado que si lo necesito hacer con php y no con javascript, esot es lo que he encontrado

hay un form que se devuelve en la cual tengo que poner los valores de cada linea del textarea

Código PHP:
<?
$texto 
nl2br($HTTP_POST_VARS[lineas]);
$lineas explode  '<br />'  $texto );

foreach (
$lineas as $k => $v) {

            echo 
"<SCRIPT> document.form.lineax.value=\"".$v."\";                    </SCRIPT>";


        
}  
?>
1.el principal error que note es que solo lo hace una vez osea en el text area tengo 4 lineas y solo devuelve siempre la primera ( $v ) que obtiene, y el numero que hay( $k) pero no logro que devuelva las demas lineas

2.no ayo como hacer el incrementador automatico linea (x) para que las acomode en los inputs correspondientes
  #7 (permalink)  
Antiguo 08/06/2011, 11:55
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: asignar campos de textarea a inputs

Esta metiendo un tag de script por cada valor???
----------

Una solucion es simplemente meter todo en un array javascript usando la funcio implode de php.

Código Javascript:
Ver original
  1. var lineas = ['<?php echo implode("','",$lineas)'];
  2. var inputs = document.getElementsByTagName("input")
  3.  
  4. for(var i=0; i<lineas.length;i++){
  5.     inputs[i].value = lineas[i]
  6. }
  #8 (permalink)  
Antiguo 08/06/2011, 21:54
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 0
Respuesta: asignar campos de textarea a inputs

Cita:
Iniciado por InKarC Ver Mensaje
Esta metiendo un tag de script por cada valor???
----------

Una solucion es simplemente meter todo en un array javascript usando la funcio implode de php.

Código Javascript:
Ver original
  1. var lineas = ['<?php echo implode("','",$lineas)'];
  2. var inputs = document.getElementsByTagName("input")
  3.  
  4. for(var i=0; i<lineas.length;i++){
  5.     inputs[i].value = lineas[i]
  6. }
hola gracias por tu respuesta, pero no hay alguna manera de hacerlo con solo php sin usar javascript?
  #9 (permalink)  
Antiguo 09/06/2011, 00:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: asignar campos de textarea a inputs

Código PHP:
Ver original
  1. <?
  2. $texto = nl2br($HTTP_POST_VARS[lineas]);
  3. $lineas = explode  ( '<br />'  , $texto );
  4.  
  5. foreach ($lineas as $k => $v) {
  6.  
  7.             echo "<SCRIPT> document.form.lineax.value=\"".$v."\";                    </SCRIPT>";
  8.  
  9.  
  10.          
  11. }  
  12. ?>

Esto esta generando <script> dinamicamente, asi que ES javascript.

------------------------------

Hecho en solo php...

Código HTML:
Ver original
  1. <?php $lineas = explode  ( '<br />'  , $texto ); ?>
  2.  
  3.  
  4. <p>
  5.   <label for="1"></label>
  6.   <input type="text" name="a" id="a" value="<?php echo $lineas[0] ?>" />
  7. </p>
  8. <p>
  9.   <input type="text" name="b" id="b" value="<?php echo $lineas[1] ?>" />
  10. </p>
  11. <p>
  12.   <input type="text" name="c" id="c" value="<?php echo $lineas[2] ?>" />
  13. </p>
  14. <p>
  15.   <input type="text" name="d" id="d" value="<?php echo $lineas[3] ?>" />
  16. </p>
  17. <p>
  18.   <input type="submit" name="ok" id="ok" value="Enviar" />
  19. </p>
  #10 (permalink)  
Antiguo 10/06/2011, 04:51
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 0
Respuesta: asignar campos de textarea a inputs

Cita:
Iniciado por InKarC Ver Mensaje
Código PHP:
Ver original
  1. <?
  2. $texto = nl2br($HTTP_POST_VARS[lineas]);
  3. $lineas = explode  ( '<br />'  , $texto );
  4.  
  5. foreach ($lineas as $k => $v) {
  6.  
  7.             echo "<SCRIPT> document.form.lineax.value=\"".$v."\";                    </SCRIPT>";
  8.  
  9.  
  10.          
  11. }  
  12. ?>

Esto esta generando <script> dinamicamente, asi que ES javascript.

------------------------------

Hecho en solo php...

Código HTML:
Ver original
  1. <?php $lineas = explode  ( '<br />'  , $texto ); ?>
  2.  
  3.  
  4. <p>
  5.   <label for="1"></label>
  6.   <input type="text" name="a" id="a" value="<?php echo $lineas[0] ?>" />
  7. </p>
  8. <p>
  9.   <input type="text" name="b" id="b" value="<?php echo $lineas[1] ?>" />
  10. </p>
  11. <p>
  12.   <input type="text" name="c" id="c" value="<?php echo $lineas[2] ?>" />
  13. </p>
  14. <p>
  15.   <input type="text" name="d" id="d" value="<?php echo $lineas[3] ?>" />
  16. </p>
  17. <p>
  18.   <input type="submit" name="ok" id="ok" value="Enviar" />
  19. </p>
gracias funciono

Última edición por tsueseres; 10/06/2011 a las 14:29

Etiquetas: campos, inputs, php, textarea
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 14:45.