Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: sirvinage en 14 Marzo 2017, 15:35 pm



Título: Problemas con java script
Publicado por: sirvinage en 14 Marzo 2017, 15:35 pm
Amigos necesito ayuda el último onchange no me cambia,no funciona se me queda el predeterminado
el código es:
Código
  1.  
  2.  
  3. <title>Formulario</title>
  4.  
  5. </head>
  6.  
  7.  
  8. <form name="f1" action="validar3.php" method="post">
  9.  
  10. <select name="category" onchange="cambia_subcategory()">
  11.  
  12. <option value="0" selected="">Seleccione...
  13.  
  14. </option><option value="Es">España
  15.  
  16. </option><option value="Ar">Argentina
  17.  
  18. </option><option value="Col">Colombia
  19.  
  20. </option><option value="Fr">Francia
  21.  
  22.  
  23.  
  24.  
  25. <select name="subcategory" onchange="cambia_segdsubcategory()">
  26.  
  27. <option value="-">
  28. </option><option value="Salta">Salta
  29. </option><option value="San Juan">San Juan
  30. </option><option value="San Luis">San Luis
  31. </option><option value="La Rioja">La Rioja
  32. </option><option value="La Pampa">La Pampa
  33. </option><option value="...">...
  34.  
  35. <select name="segdsubcategory">
  36.  
  37. <option value="-">
  38. </option><option value="Salto">Salto
  39. </option><option value="juanita">San Juanita
  40. </option><option value="Lois">San Lois
  41. </option><option value="Rojo">La Rojas
  42. </option><option value="pom">La Pompa
  43. </option><option value="...">...
  44.  
  45.  
  46. <td></td><td><input type="submit" value="Ingresar">
  47. </form>
  48.  
  49.  
  50.  
  51.  
  52. //defino una serie de varibles Array para cada país
  53.  
  54. var subcategorys_Es=new Array("-","Andalucía","Asturias","Baleares","Canarias","Castilla y León","Castilla-La Mancha","...")
  55.  
  56. var subcategorys_Ar=new Array("-","Salta","San Juan","San Luis","La Rioja","La Pampa","...")
  57.  
  58. var subcategorys_Col=new Array("-","Cali","Santamarta","Medellin","Cartagena","...")
  59.  
  60. var subcategorys_Fr=new Array("-","Aisne","Creuse","Dordogne","Essonne","Gironde ","...")
  61.  
  62.  
  63. var segdsubcategorys_Salto=new Array("-","Andalucía","Asturias","Baleares","Canarios","Castillo y Leóna","Castilla-La Mancha","...")
  64.  
  65. var segdsubcategorys_juanita=new Array("-","Salto","San Juanita","San Lois","La Rioja","La Pampa","...")
  66.  
  67. var segdsubcategorys_Lois=new Array("-","Cali","Santamarta","Medellón","Cartagena","...")
  68.  
  69. var segdsubcategorys_Rojo=new Array("-","Aisne","Cruse","Dordogne","Essonne","Gironde ","...")
  70.  
  71. var segdsubcategorys_pom=new Array("-","Isla","Guaja","Durdu","Galdalf","Jacobo ","...")
  72.  
  73.  
  74.  
  75.  
  76. //función que cambia las subcategorys del select de subcategorys en función del país que se haya escogido en el select de país.
  77.  
  78. function cambia_subcategory(){
  79.  
  80. //tomo el valor del select del category elegido
  81.  
  82. var category
  83.  
  84. category = document.f1.category[document.f1.category.selectedIndex].value
  85.  
  86. //miro a ver si el category está definido
  87.  
  88. if (category != 0) {
  89.  
  90. //si estaba definido, entonces coloco las opciones de la subcategory correspondiente.
  91.  
  92. //selecciono el array de subcategory adecuado
  93.  
  94. mis_subcategorys=eval("subcategorys_" + category)
  95.  
  96. //calculo el numero de subcategorys
  97.  
  98. num_subcategorys = mis_subcategorys.length
  99.  
  100. //marco el número de subcategorys en el select
  101.  
  102. document.f1.subcategory.length = num_subcategorys
  103.  
  104. //para cada subcategory del array, la introduzco en el select
  105.  
  106. for(i=0;i<num_subcategorys;i++){
  107.  
  108.   document.f1.subcategory.options[i].value=mis_subcategorys[i]
  109.  
  110.   document.f1.subcategory.options[i].text=mis_subcategorys[i]
  111.  
  112. }
  113.  
  114. }else{
  115.  
  116. //si no había subcategory seleccionada, elimino las subcategorys del select
  117.  
  118. document.f1.subcategory.length = 1
  119.  
  120. //coloco un guión en la única opción que he dejado
  121.  
  122. document.f1.subcategory.options[0].value = "-"
  123.  
  124.    document.f1.subcategory.options[0].text = "-"
  125.  
  126. }
  127.  
  128. //marco como seleccionada la opción primera de subcategory
  129.  
  130. document.f1.subcategory.options[0].selected = true
  131.  
  132. }
  133.  
  134.  
  135.  
  136.  
  137.  
  138. //función que cambia las subcategorys del select de subcategorys en función del país que se haya escogido en el select de país.
  139.  
  140. function cambia_segdsubcategory(){
  141.  
  142. //tomo el valor del select del category elegido
  143.  
  144. var subcategory
  145.  
  146. category = document.f1.subcategory[document.f1.subcategory.selectedIndex].value
  147.  
  148. //miro a ver si el category está definido
  149.  
  150. if (subcategory != 0) {
  151.  
  152. //si estaba definido, entonces coloco las opciones de la segdsubcategory correspondiente.
  153.  
  154. //selecciono el array de segdsubcategory adecuado
  155.  
  156. mis_segdsubcategorys=eval("segdsubcategorys_" + subcategory)
  157.  
  158. //calculo el numero de segdsubcategorys
  159.  
  160. num_segdsubcategorys = mis_segdsubcategorys.length
  161.  
  162. //marco el número de segdsubcategorys en el select
  163.  
  164. document.f1.segdsubcategory.length = num_segdsubcategorys
  165.  
  166. //para cada segdsubcategory del array, la introduzco en el select
  167.  
  168. for(i=0;i<num_segdsubcategorys;i++){
  169.  
  170.   document.f1.segdsubcategory.options[i].value=mis_segdsubcategorys[i]
  171.  
  172.   document.f1.segdsubcategory.options[i].text=mis_segdsubcategorys[i]
  173.  
  174. }
  175.  
  176. }else{
  177.  
  178. //si no había segdsubcategory seleccionada, elimino las segdsubcategorys del select
  179.  
  180. document.f1.segdsubcategory.length = 1
  181.  
  182. //coloco un guión en la única opción que he dejado
  183.  
  184. document.f1.segdsubcategory.options[0].value = "-"
  185.  
  186.    document.f1.segdsubcategory.options[0].text = "-"
  187.  
  188. }
  189.  
  190. //marco como seleccionada la opción primera de subcategory
  191.  
  192. document.f1.segdsubcategory.options[0].selected = true
  193.  
  194. }
  195.  
  196.  
  197.  
  198. </body></html>
  199.  




· Los códigos deben ir en etiquetas GeSHi
· Esto va en desarrollo web (movido)
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex