Foros del Web » Programando para Internet » PHP »

como inserto codigo php en cajas de texto creadas dinamicamente?

Estas en el tema de como inserto codigo php en cajas de texto creadas dinamicamente? en el foro de PHP en Foros del Web. Hola a todos, espero que me puedan colaborar en esta duda: Mediante JavaScript, creo dinamicanmente un numero de cajas seleccionadas por un usuario, ahora mi ...
  #1 (permalink)  
Antiguo 29/12/2010, 16:02
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 14 años, 10 meses
Puntos: 27
como inserto codigo php en cajas de texto creadas dinamicamente?

Hola a todos, espero que me puedan colaborar en esta duda:
Mediante JavaScript, creo dinamicanmente un numero de cajas seleccionadas por un usuario, ahora mi duda es como hago para hacer una consulta a mi base de datos en una de esas cajas que creo dinamicamente.

Me explico mejor: creo cuatro cajas en forma horizontal, lo que quiero es hacer un SELECT en la segunda caja (Producto), para que el cliente me seleccione el producto, como puedo hacer esto? como incluyo codigo php?

aca el codigo de mi formulario


Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin t&iacute;tulo</title>
  6. </head>
  7.  
  8. <body>
  9. <script language = "Javascript">
  10.  
  11. function ivatotal() {
  12. var subtotal = event.srcElement.value
  13. var iva = Math.round(subtotal*.15*100)/100
  14. var total = Math.round(subtotal*1.15*100)/100
  15. document.form2.fac_iva.value=iva
  16. document.form2.fac_total.value=total
  17. }
  18. </script>
  19. <script>
  20. function add_row(campo)
  21. {
  22. cadena="";
  23. total=campo.options[campo.selectedIndex].value;
  24. for(i=1;i<=total;i++)
  25. cadena=cadena+'<input type="text" name="campo_'+i+'" /> <input type="text" name="campo1_'+i+'" /> <input type="text" name="campo2_'+i+'" /> <input type="text" name="campo3_'+i+'" /> <input type="text" name="campo4" id="campo4" value="0" onKeypress="if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" onChange="javascript:sumarImporte();"/><br>';
  26. document.getElementById('campos').innerHTML = cadena;
  27. }
  28. function suma()
  29. {
  30. suma = suma + sumadecajas
  31. document.getElementById('campo4').value= sumadecajas
  32. }
  33. function sumarImporte() {
  34.  var total_importe = 0;
  35.  if (document.form2.campo4) {
  36.   if (document.form2.campo4.length) {
  37.    for (var i=0; i < document.form2.campo4.length; i++) {
  38.     total_importe += parseInt(document.form2.campo4[i].value,10); //Validar si es un numero primero
  39.    }
  40.   } else {
  41.    total_importe += parseInt(document.form2.campo4.value,10);
  42.   }
  43.  }
  44.  document.getElementById('fac_subtotal').value = total_importe;
  45. }
  46. </script>
  47. <p>
  48. <div>
  49. </p>
  50. <table width="100%" height="128" border="0" bordercolor="#FFFFFF">
  51. <tr>
  52. <td colspan="3" scope="col"><form id="form1" name="form1" method="post" action="">
  53. <label></label>
  54. <table width="100%" border="0">
  55. <tr>
  56. <td width="12%" scope="col"><div align="left"><strong>N</strong><strong>o. cliente:</strong></div></td>
  57. <td width="29%" scope="col">cli</td>
  58. <td width="17%" scope="col"><div align="left"><strong>Nombre del cliente:</strong></div></td>
  59. <td width="42%" scope="col">dom</td>
  60. </tr>
  61. <tr>
  62. <td><strong>Domicilio:</strong></td>
  63. <td>dom</td>
  64. <td><strong>Ciudad:</strong></td>
  65. <td>ciu</td>
  66. </tr>
  67. <tr>
  68. <td><label><strong>Telefono:</strong></label></td>
  69. <td><label>tel/label></td>
  70. <td><strong>R.F.C :</strong>
  71. <label></label></td>
  72. <td>rfc</td>
  73. </tr>
  74. </table>
  75. </form></td>
  76. </tr>
  77. <tr>
  78. <td colspan="3"><form action="guardar.php" method="post" name="form2">
  79. <table width="100%" border="0">
  80. <tr>
  81. <th width="493" scope="col"><div align="left">
  82.   <select name="opciones" onchange="add_row(this)">
  83.     <option value="0">0</option>
  84.     <option value="1">1</option>
  85.     <option value="2">2</option>
  86.     <option value="3">3</option>
  87.     <option value="4">4</option>
  88.     <option value="5">5</option>
  89.     <option value="6">6</option>
  90.     <option value="7">7</option>
  91.     <option value="8">8</option>
  92.     <option value="9">9</option>
  93.     <option value="10">10</option>
  94.     <option value="11">11</option>
  95.     <option value="12">12</option>
  96.     <option value="13">13</option>
  97.     <option value="14">14</option>
  98.     <option value="15">15</option>
  99.   </select>
  100.   <em> * indica cantidad de ojetos</em></div></th>
  101. </tr>
  102. <tr>
  103. <td><table width="790" border="1" bordercolor="#7F9DB9">
  104. <tr>
  105. <th width="146" height="23" scope="col">cantidad</th>
  106. <th width="151" scope="col">producto</th>
  107. <th width="155" scope="col">descripcion</th>
  108. <th width="155" scope="col">valor producto</th>
  109. <th width="143" scope="col">valor total producto</th>
  110. </tr>
  111. </table>
  112. <div id="campos"></div></td>
  113. </tr>
  114. <tr>
  115. <td height="140"><table width="793" border="0">
  116. <tr>
  117. <th width="26" rowspan="3" scope="col">&nbsp;</th>
  118. <th width="429" scope="col">importe con letra:
  119. <label></label></th>
  120. <th width="324" scope="col"><div align="right">
  121. <label></label>
  122. subtotal:
  123. <input type="text" name="fac_subtotal" id="fac_subtotal" readonly="true" />
  124. </div></th>
  125. </tr>
  126. <tr>
  127. <th width="429" scope="col"><input name="textfield4" type="text" id="textfield4" size="60" /></th>
  128. <th scope="col"><label> </label>
  129. <div align="right">iva:
  130. <input type="text" name="fac_iva" id="textfield2" />
  131. </div>
  132. <div align="right"></div></th>
  133. </tr>
  134. <tr>
  135. <th width="429" scope="col">&nbsp;</th>
  136. <th scope="col"><label> </label>
  137. <div align="right">total:
  138. <input type="text" name="fac_total" id="textfield3" />
  139. </div></th>
  140. </tr>
  141. <tr>
  142. <th width="26" scope="col">&nbsp;</th>
  143. <th width="429" scope="col">&nbsp;</th>
  144. <th scope="col"><div align="right">
  145. <input name="enviar" type="button" value="Enviar" onClick="javascript:sumarImporte();" />
  146. </div></th>
  147. </tr>
  148. </table>
  149. <div align="right"></div></td>
  150. </tr>
  151. </table>
  152. <label> </label>
  153. <p align="right">
  154. <label></label>
  155. <label></label>
  156. </p>
  157. </form></td>
  158. </tr>
  159. <tr>
  160. <td width="36%"><a href="busqueda_cliente.php"><img src="objetos/flecha_re.gif" width="22" height="22" border="0" /></a></td>
  161. <td width="21%" bordercolor="#000000"><a href="index.php">MENU PRINCIPAL</a></td>
  162. <td width="43%">&nbsp;</td>
  163. </tr>
  164. </table>
  165. </body>
  166. </html>

La función que me crea las cajas dinamicamente es:

Código Javascript:
Ver original
  1. <script>
  2. function add_row(campo)
  3. {
  4. cadena="";
  5. total=campo.options[campo.selectedIndex].value;
  6. for(i=1;i<=total;i++)
  7. cadena=cadena+'<input type="text" name="campo_'+i+'" /> <input type="text" name="campo1_'+i+'" /> <input type="text" name="campo2_'+i+'" /> <input type="text" name="campo3_'+i+'" /> <input type="text" name="campo4" id="campo4" value="0" onKeypress="if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" onChange="javascript:sumarImporte();"/><br>';
  8. document.getElementById('campos').innerHTML = cadena;
  9. }

Como hago un SELECT a mi base de datos dentro de uno de los input?
Agradezco me puedan ayudar
  #2 (permalink)  
Antiguo 29/12/2010, 18:31
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: como inserto codigo php en cajas de texto creadas dinamicamente?

Por lo que veo, tu html està muy ligado a eventos javascript. Para hacer una llamada a base de datos necesitas ejecutar codigo en lado servidor, asì que una opcion es usar un evento de javascript que dispare una consulta ajax.

La otra opcion es usar links a un script php, que tome parametros por GET, y que luego te redireccione nuevamente a donde estabas.

Espero sepas resolver esto pensandolo detenidamente, en papel.

nota: por que te parece que esto es PHP OO?
  #3 (permalink)  
Antiguo 30/12/2010, 07:13
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 14 años, 10 meses
Puntos: 27
Respuesta: como inserto codigo php en cajas de texto creadas dinamicamente?

Gracias por tu ayuda, al parecer me toca documentarme mucho mas en Ajax
Lo de PHP OO fue la primera opcion que tome al publicar el mensaje...que pena, de todos modos gracias

Etiquetas: cajas, dinamicamente
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 05:33.