Foros del Web » Programando para Internet » Javascript »

Consulta Crear mas Campos

Estas en el tema de Consulta Crear mas Campos en el foro de Javascript en Foros del Web. Hola a todos Tengo una pregunta que hacer he visto paginas en que se duplican los campos de un formulario html al hacer click en ...
  #1 (permalink)  
Antiguo 15/06/2009, 01:05
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Consulta Crear mas Campos

Hola a todos

Tengo una pregunta que hacer
he visto paginas en que se duplican los campos de un formulario html al hacer click en "agregar otro registro"... (como lo hace phpmyadmin).
El asunto es que quiero implementar eso (y despues insertar un xml en una bd) pero no se como se hace, ni que comportamiento tiene (por ejemplo los nombres de los campos del formulario al enviarlos a otra pagina)...

Cualquier ayuda es bien recibida

Última edición por DrCuleador; 15/06/2009 a las 01:11
  #2 (permalink)  
Antiguo 15/06/2009, 03:05
 
Fecha de Ingreso: junio-2009
Ubicación: Reus, Tarragona, España
Mensajes: 63
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Consulta Crear mas Campos

Siento no poder escribirte el codigo y facilitarte todo lo que quisieras,

pero esto se puede hacer con algo parecido a un

document.write.innerhtml

es decir, creas un botón que al hacer click reescribe la pagina, y la reescribes agregando un nuevo campo de texto.

entonces eso se hace mediante un document.write, que lo que hace es reescribir la pagina,

pero te la reescribe desde cero, por eso debes usar un innerhtml, que aún no lo he usado nunca, pero por lo que entendí por aquí, puedes elejir el "tag" a partir del cual vas a reescribir nuevamente la pagina, tendrias que estudiarte un pokitín como usar esto, carezco de información ahora, pero creo que sería esta una posible solucion.

No se si sería la mejor.


suerte!
  #3 (permalink)  
Antiguo 15/06/2009, 05:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Consulta Crear mas Campos

Hola

A ver si es esto lo que necesitas

Código javascript:
Ver original
  1. <script type="text/javascript">
  2. function adicionarFila(){
  3. var cont = document.getElementById("cont");
  4. var filas = document.getElementById("filas");
  5. cont.setAttribute("value", parseInt(cont.value,0)+1);
  6. var tabla = document.getElementById("contenido").tBodies[0];
  7. var fila = document.createElement("TR");
  8. fila.setAttribute("align","center");
  9.  
  10. var celda1 = document.createElement("TD");
  11. var codigo = document.createElement("INPUT");
  12. codigo.setAttribute("type","text");
  13. codigo.setAttribute("size","8");
  14. codigo.setAttribute("maxlength","20");
  15. codigo.setAttribute("name","codigo" + cont.value);
  16. celda1.appendChild(codigo);
  17.  
  18. var celda2 = document.createElement("TD");
  19. var sel = document.createElement("SELECT");
  20. sel.setAttribute("size","1");
  21. sel.setAttribute("name","sel" + cont.value);
  22. opcioncur = document.createElement("OPTION");
  23. opcioncur.innerHTML = '';
  24. opcioncur.value = '';
  25. sel.appendChild(opcioncur);
  26.  
  27. opcion1 = document.createElement("OPTION");
  28. opcion1.innerHTML = "este Select depende de lo que";
  29. opcion1.value = "este Select depende de lo que";
  30. sel.appendChild(opcion1);
  31.  
  32. opcion2 = document.createElement("OPTION");
  33. opcion2.innerHTML = "se ponga en el anterior campo";
  34. opcion2.value = "se ponga en el anterior campo";
  35. sel.appendChild(opcion2);
  36.  
  37. celda2.appendChild(sel);
  38.  
  39. var celda3 = document.createElement("TD");
  40. var valorA = document.createElement("INPUT");
  41. valorA.setAttribute("type","text");
  42. valorA.setAttribute("size","1");
  43. valorA.setAttribute("maxlength","3");
  44. valorA.setAttribute("name","valorA" + cont.value);
  45. celda3.appendChild(valorA);
  46.  
  47. var celda4 = document.createElement("TD");
  48. var valorB = document.createElement("INPUT");
  49. valorB.setAttribute("type","text");
  50. valorB.setAttribute("size","1");
  51. valorB.setAttribute("maxlength","3");
  52. valorB.setAttribute("name","valorB" + cont.value);
  53. celda4.appendChild(valorB);
  54.  
  55. var celda5 = document.createElement("TD");
  56. var valorC = document.createElement("INPUT");
  57. valorC.setAttribute("type","text");
  58. valorC.setAttribute("size","1");
  59. valorC.setAttribute("maxlength","3");
  60. valorC.setAttribute("name","valorC" + cont.value);
  61. //onfocus="fc(this)"
  62. celda5.appendChild(valorC);
  63.  
  64. var celda6 = document.createElement('TD');
  65. var boton = document.createElement('INPUT');
  66. boton.setAttribute('type','button');
  67. boton.setAttribute('value','borrar');
  68. boton.onclick=function(){borrarFila(this);}
  69. celda6.appendChild(boton);
  70.  
  71. fila.appendChild(celda1);
  72. fila.appendChild(celda2);
  73. fila.appendChild(celda3);
  74. fila.appendChild(celda4);
  75. fila.appendChild(celda5);
  76. fila.appendChild(celda6);
  77.  
  78. tabla.appendChild(fila);
  79. }
  80. function borrarFila(button){
  81. var fila = button.parentNode.parentNode;
  82. var tabla = document.getElementById('contenido').getElementsByTagName('tbody')[0];
  83. tabla.removeChild(fila);
  84. }
  85.  
  86.  
  87. function fc(campo) {
  88.     var n=parseInt(campo.name.substr(6),10);
  89.     var    a=campo.form.elements["valorA"+n];
  90.     var    b=campo.form.elements["valorB"+n];
  91.     var na=parseFloat(a);
  92.     var nb=parseFloat(b);
  93.     if (isNaN(na)) { na=0; }
  94.     if (isNaN(nb)) { nb=0; }
  95.     campo.value=na+nb;
  96.     campo.blur();
  97. }
  98. </script>
  99. </head>
  100. <body onLoad="adicionarFila()">
  101. <Form name="detalle" action="ej.asp" method="get">
  102. <input name="cont" type="hidden" id="cont" value="0" >
  103. <input name="filas" type="hidden" id="filas" value="" >
  104. <table align=center width=20% cellpadding=0 cellspacing=0 id="contenido" border="1">
  105. <tr align="center">
  106. <td>codigo</td>
  107. <td>Select dependiente de Codigo</td>
  108. <td>A +</td>
  109. <td>B =</td>
  110. <td>C</td>
  111. <td>&nbsp;</td>
  112. </tr>
  113. </table>
  114. <table align=center width=20% cellpadding=0 cellspacing=0 border="1">
  115. <tr>
  116. <td>&nbsp;</td>
  117. </tr>
  118. <tr align="center">
  119. <td align="CENTER"><input name="enviar" type="submit" id="enviar" value="enviar" onClick="filas.value=cont.value, cont.value=0">
  120. <input name="nueva_fila" type="button" id="nueva_fila" value="nueva fila" onClick="adicionarFila()"></td>
  121. </tr>
  122. </table>
  123. </form>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 15/06/2009, 09:56
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Consulta Crear mas Campos

Muchisimias gracias, es exactamentente lo que necesito
Ahora a entenderlo para poder almacenmar en un arraylist todos los objetos y meterlos a la base de datos

gracias ^^
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 16:32.