Foros del Web » Programando para Internet » Javascript »

Escribir codigo html con Java (select->switch case->escribe html)

Estas en el tema de Escribir codigo html con Java (select->switch case->escribe html) en el foro de Javascript en Foros del Web. Buenas gente!!! bien, llegue hasta un punto del cual no se como seguir. Arme un formulario que depende de un switch case. La idea es ...
  #1 (permalink)  
Antiguo 19/12/2005, 08:31
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
Escribir codigo html con Java (select->switch case->escribe html)

Buenas gente!!!

bien, llegue hasta un punto del cual no se como seguir. Arme un formulario que depende de un switch case.

La idea es tener un formulario solo con un campo "select" el cual me da acceso a varios formularios mas. Es asi que al cambiar, el usuario puede elegir entre uno u otro formulario que llenar.

or ahora estoy haciendolo con un document.write, pero este me escribe toda una pagina de nuevo, como si fuera un "_blank" como target.
Lo que estoy buscando es alguna forma de que solo me escriba parte del documento segun el caso, como si fuera un "echo" de php.

Aqui está el codigo de la pagina actual. Lo sake de forosdelweb, asi que varios campos aun son los mismos, tengo que modificarlos cuando el Sw case
funcione como necesito.

Gracias a cualquier respuesta!!!

Código PHP:

<html
 <
head
  <
script language="JavaScript"

   function 
addOpt(oCntrliPossTxtsVal){ 
     var 
selOpcion=new Option(sTxtsVal); 
     eval(
oCntrl.options[iPos]=selOpcion); 
   } 

   function 
cambia(oCntrl){ 
    switch (
document.frm.pais.selectedIndex){ 
     case 
0:  
      
addOpt(oCntrl,  0"Madrid""http://www.madrid.com"); 
      
addOpt(oCntrl,  1"Barcelona""http://www.barcelona.com"); 
      
addOpt(oCntrl,  2"San Sebastián""http://www.sansebastian.com"); 
     break; 
     case 
1:  
      
addOpt(oCntrl,  0"Madrid""http://www.madrid.com"); 
      
addOpt(oCntrl,  1"Barcelona""http://www.barcelona.com"); 
      
addOpt(oCntrl,  2"San Sebastián""http://www.sansebastian.com");
      break; 
     case 
2:  
        
document.write("<table width='39%' border='0' align='center' cellpadding='0' cellspacing='0'>");
        
document.write("<tr>");
        
document.write("<td align='center' valign='middle'><form name='form2' method='post' action=''>");
        
document.write("<div align='center'><br>");
        
document.write("Fecha de Llegada </div>");
        
document.write("<table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'>");
        
document.write("<tr>");
        
document.write("<td width='33%'></td>");
        
document.write("<td width='2%'></td>");
        
document.write("<td width='65%'></td>");
        
document.write("</tr>");
        
document.write("<tr>");
        
document.write("<td></td>");
        
document.write("<td></td>");
        
document.write("<td></td>");
        
document.write("</tr>");
        
document.write("<tr>");
        
document.write("<td><div align='right'>Desde</div></td>");
        
document.write("<td></td>");
        
document.write("<td><input name='textfield4' type='text' value='AAAA-MM-DD'>");
        
document.write("Ej.: 2005-05-33</td>");
        
document.write("</tr>");
        
document.write("<tr>");
        
document.write("<td><div align='right'>Hasta</div></td>");
        
document.write("<td></td>");
        
document.write("<td><input name='textfield22' type='text' value='AAAA-MM-DD'>");
        
document.write("Ej.: 2005-05-33 </td>");
        
document.write("</tr>");
        
document.write("<tr>");
        
document.write("<td></td>");
        
document.write("<td></td>");
        
document.write("<td></td>");
        
document.write("</tr>");
        
document.write("</table>");
        
document.write("<p>&nbsp;</p>");
        
document.write("</form></td>");
        
document.write("</tr>");
        
document.write("</table>");
      break; 
    } 
   } 
</script> 
 </head> 
 <body> 
  <form name="frm"> 
   <table border="0" width="482"> 
    <tr> 
     <td width="25"> 
      Pais 
     </td> 
     <td width="89"> 
      <select name="pais" onchange="cambia(document.frm.ciudad)"> 
       <option value="Mex">Mexico</option> 
       <option value="Esp">España</option> 
       <option value="Ven">Venezuela</option> 
      </select> 
     </td> 
     <td width="6"> 
      &nbsp; 
     </td> 
     <td width="44"> 
      Ciudad 
     </td> 
     <td width="296"> 
      <select name="ciudad" onChange="location.href=this.form.ciudad.options[this.form.ciudad.selectedIndex].value"> 
       <option value="0">Ciudad de México</option> 
       <option value="1">Monterrey</option> 
       <option value="2">Guadalajara</option> 
      </select> <input type="button" value="Ir a..." onClick="location.href=this.form.ciudad.options[this.form.ciudad.selectedIndex].value"</td> 
    </tr> 
   </table> 
  </form> 
 </body> 
</html> 
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #2 (permalink)  
Antiguo 19/12/2005, 08:41
 
Fecha de Ingreso: noviembre-2005
Mensajes: 42
Antigüedad: 18 años, 5 meses
Puntos: 0
Hola daenor,

¿No te sería más fácil crear una capa con cada formulario y mostrar la que corresponda según se elija un valor u otro en el campo select?

Es solo una idea.
  #3 (permalink)  
Antiguo 19/12/2005, 08:48
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
mmm... no lo habia pensado... aunque tampoco se como hacer eso.
Y es buena tu idea, pero... esto tambien funcionaria automaticamente con un select?
es decir, sin tener que usar ningun boton para activarlo?

y supongo que en PHP no tendria problemas...

XD

gracias!!!!
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #4 (permalink)  
Antiguo 19/12/2005, 09:05
 
Fecha de Ingreso: noviembre-2005
Mensajes: 42
Antigüedad: 18 años, 5 meses
Puntos: 0
La cuestión es cambiar el valor de la propiedad "visible" de la capa dentro del evento "onchange" del select. En este evento debes llamar a una función en la que ocultes todas las capas y muestres la que has seleccionado, esto puedes hacerlo así o bien llevar una variable global que te diga que capa se está mostrando en cada momento, solo tienes que ocultarla y mostrar la que indique el campo.

Por cierto, dentro de la propiedad "style" de las capas, éstas deben tener el atributo "z-index" con valor 2 o superior (lo de superior no estoy seguro).
Luego la posición de las capas la puedes controlar con top y left.

Este atributo es el orden en el que se superponen las paginas dentro de la pagina, así el z-index=1 se verá encima del 2.
  #5 (permalink)  
Antiguo 19/12/2005, 09:18
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
Boku!!!! Muchisimas gracias por tu tiempo, es una buena opcion.
Vere de sentarme ahora a estudiar lo que me sugieres y preparar las paginas!!

Gracias!!!!

Hasta luego!!!
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #6 (permalink)  
Antiguo 19/12/2005, 09:21
 
Fecha de Ingreso: noviembre-2005
Mensajes: 42
Antigüedad: 18 años, 5 meses
Puntos: 0
Nada hombre, ya nos contarás si te ha servido.
  #7 (permalink)  
Antiguo 28/12/2005, 07:53
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
buenas gente!!! soy yo otra vez!!

bien, ya lo resolvi... espero que no me peggun, pero lo resolvi utilizando PHP.
utilizando sentencias de CASE. y segun el caso que me escrba una u otra cosa.

Bueno, de todas formas agradezco enormemente vuestra ayuda!!

Chiao!!!
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
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:21.