Foros del Web » Programando para Internet » Javascript »

Como enviar variableJS a un formulario

Estas en el tema de Como enviar variableJS a un formulario en el foro de Javascript en Foros del Web. Por favor amigos su apoyo: Tengo los siguientes script's: mi codigo php (menuprincipal.php): ************* <form name="frm" id="frm"> <table class="table"> <tr> <td>CERTIFICADO</td> <td>ACCION</td> </tr> <?php foreach($rsCol ...
  #1 (permalink)  
Antiguo 28/05/2015, 16:11
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 9 meses
Puntos: 2
Como enviar variableJS a un formulario

Por favor amigos su apoyo:

Tengo los siguientes script's:

mi codigo php (menuprincipal.php):
*************
<form name="frm" id="frm">
<table class="table">
<tr>
<td>CERTIFICADO</td>
<td>ACCION</td>
</tr>
<?php
foreach($rsCol as $rCol){
?>
<tr>
<td>
<input type="radio" name="certificado[]" id="certificado" value="1" onclick="marcar1()">
<input type="text" name="flag[]" id="flag">
</td>
<td>
<button type="submit" name="input_submit" value="Grabar">Grabar</button>
</td>
</tr>
<?php
}
?>
</form>

mi código js:
************
function marcar1(){
var txt = "";
var i;
for (i = 0; i < document.frm.certificado.length; i++) {
if (certificado[i].checked) {
txt = document.frmnoticia.certificado[i].value;
}
}
document.getElementById("flag").value = txt;
}


vista del menuprincipal:
******************
CERTIFICADO - ACCION
-----------------------------------
O [___] [GRABAR]
O [___] [GRABAR]
O [___] [GRABAR]

La implementación para paginaprincipal.php es que al dar click "X" al boton de certificado

CERTIFICADO - ACCION
-----------------------------------
O [___] [GRABAR]
(X) [___] [GRABAR]
O [___] [GRABAR]


con el evento onclick se obtenga el valor 1 seleccionado, y además este valor regrese y se coloque en su respectiva caja de texto (name="flag").

CERTIFICADO - ACCION
-----------------------------------
O [___] [GRABAR]
(X) [_1_] [GRABAR]
O [___] [GRABAR]


Estoy trabajando con el código adjunto y no me sale, solicito su apoyo por favor.
Gracias de antemano
Willy
  #2 (permalink)  
Antiguo 29/05/2015, 09:48
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Como enviar variableJS a un formulario

Amigos:

Estoy usando este código JS

mi código js:
************
function marcar1(){
var txt = "";
var i;
for (i = 0; i < document.frm.certificado.length; i++) {
if (certificado[i].checked) {
txt = document.frmnoticia.certificado[i].value;
}
}
document.getElementById("flag").value = txt;
}

Y siempre la salida de la ejecución del proceso pinta en la primera fila:

CERTIFICADO - ACCION
-----------------------------------
(X) [_1_] [GRABAR]
O [___] [GRABAR]
O [___] [GRABAR]


Por favor su apoyo.


Willy
  #3 (permalink)  
Antiguo 29/05/2015, 10:50
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Como enviar variableJS a un formulario

Cuando escribas código utiliza las etiquetas para que sea más legible. En los mensajes, desplegable Highlight.
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP
  #4 (permalink)  
Antiguo 29/05/2015, 11:08
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Como enviar variableJS a un formulario

Gracias Zalito 12. Copio de nuevo mi consulta... mil disculpas


Por favor amigos su apoyo:

Tengo los siguientes script's:

mi codigo php (menuprincipal.php):
*************
Código PHP:
<form name="frm" id="frm">
<table class="table">
<tr>
<td>CERTIFICADO</td>
<td>ACCION</td>
</tr>
<?php 
foreach($rsCol as $rCol){
?>
<tr>
<td>
<input type="radio" name="certificado[]" id="certificado" value="1" onclick="marcar1()">
<input type="text" name="flag[]" id="flag">
</td>
<td>
<button type="submit" name="input_submit" value="Grabar">Grabar</button>
</td>
</tr>
<?php 

?>
</form>
mi código js:
************
Código Javascript:
Ver original
  1. function marcar1(){
  2. var txt = "";
  3. var i;
  4. for (i = 0; i < document.frm.certificado.length; i++) {
  5. if (certificado[i].checked) {
  6. txt = document.frm.certificado[i].value;
  7. }
  8. }
  9. document.getElementById("flag").value = txt;
  10. }


vista del menuprincipal:
******************
Cita:
CERTIFICADO - ACCION
-----------------------------------
O [___] [GRABAR]
O [___] [GRABAR]
O [___] [GRABAR]
La implementación para paginaprincipal.php es que al dar click "X" al boton de certificado

Cita:
CERTIFICADO - ACCION
-----------------------------------
O [___] [GRABAR]
(X) [___] [GRABAR]
O [___] [GRABAR]

con el evento onclick se obtenga el valor 1 seleccionado, y además este valor regrese y se coloque en su respectiva caja de texto (name="flag").

Cita:
CERTIFICADO - ACCION
-----------------------------------
O [___] [GRABAR]
(X) [_1_] [GRABAR]
O [___] [GRABAR]

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

Estoy usando este código JS

mi código js:
************
Código Javascript:
Ver original
  1. function marcar1(){
  2. var txt = "";
  3. var i;
  4. for (i = 0; i < document.frm.certificado.length; i++) {
  5. if (certificado[i].checked) {
  6. txt = document.frm.certificado[i].value;
  7. }
  8. }
  9. document.getElementById("flag").value = txt;
  10. }

Y siempre la salida de la ejecución del proceso pinta en la primera fila:

Cita:
CERTIFICADO - ACCION
-----------------------------------
(X) [_1_] [GRABAR]
O [___] [GRABAR]
O [___] [GRABAR]

Por favor su apoyo.


Willy
  #5 (permalink)  
Antiguo 29/05/2015, 12:42
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Como enviar variableJS a un formulario

Vale, yo no suleo usar formularios con arrays pero el problema reside en como accedes al campo donde quieres insertar el valor.
Esto está bien:
Código Javascript:
Ver original
  1. for (i = 0; i < document.frm.certificado.length; i++) {
  2. if (certificado[i].checked) {

Pero aquí, estás accediendo por id:
Código Javascript:
Ver original
  1. document.getElementById("flag").value = txt;

La etiqueta id está pensada, como su nombre indica, para ser un identificador, un identificador único, por eso se espera que no se repita en el mismo documento, es decir, que si quieres que tu web esté bien diseñada no se deberían repetir id's.
Como se espera que sea único el primero que encuentra es el que coje y al que afecta.

Lo que no entiendo es porque no lo haces directamente en el bucle:
Código Javascript:
Ver original
  1. function marcar1(){
  2.     var txt = "";
  3.     var i;
  4.     for (i = 0; i < document.frm.certificado.length; i++) {
  5.         if (certificado[i].checked) {
  6.             //txt = document.frm.certificado[i].value;
  7.             flag[i].value =  certificado[i].value;
  8.         }
  9.     }
  10.     //document.getElementById("flag").value = txt;
  11. }

Por último si quieres que tu código sea más eficaz deberías ahorrarte ese bucle, como te digo yo no uso formularios con inputs de arrays pero podrías probar algo así:

Código PHP:
Ver original
  1. <form name="frm" id="frm">
  2. <table class="table">
  3. <tr>
  4. <td>CERTIFICADO</td>
  5. <td>ACCION</td>
  6. </tr>
  7. <?php
  8.     $index = 0;
  9.     foreach($rsCol as $rCol){
  10. ?>
  11. <tr>
  12. <td>
  13.     <input type="radio" name="certificado[]" id="certificado" value="1" onclick="marcar1(<?php echo $index; ?>)">
  14.     <input type="text" name="flag[]" id="flag">
  15. </td>
  16. <td>
  17.     <button type="submit" name="input_submit" value="Grabar">Grabar</button>
  18. </td>
  19. </tr>
  20. <?php
  21.         $index++;
  22.     }  
  23. ?>
  24. </form>

Código Javascript:
Ver original
  1. function marcar1(index){
  2.     if (certificado[index].checked) {
  3.         //txt = document.frm.certificado[i].value;
  4.         flag[index].value =  certificado[index].value;
  5.     }else{
  6.         //Al desmarcar...
  7.     }
  8.     //document.getElementById("flag").value = txt;
  9. }

Algo así debería funcionar, si hay una forma mejor de pasarle el índice a la función de JS no la conozco porque como te he dicho suelo evitar este tipo de implementaciones.

Saludos!
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP
  #6 (permalink)  
Antiguo 29/05/2015, 18:13
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Como enviar variableJS a un formulario

Muchas gracias zalito12, la primera opción resultó dar con mi solución
Me falta probar la última sugerencia... les comentaré como me fué.

Etiquetas: formulario, input, js, php, valor
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 06:40.