Foros del Web » Programando para Internet » Javascript »

"Juntar" dos javascript

Estas en el tema de "Juntar" dos javascript en el foro de Javascript en Foros del Web. Hola: Tengo dos funciones de javascript en dos formularios; en este primero cuanto el numero de carracteres en el campo texto "cosa" @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 18/05/2011, 10:03
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
"Juntar" dos javascript

Hola:

Tengo dos funciones de javascript en dos formularios; en este primero cuanto el numero de carracteres en el campo texto "cosa"

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <title>Untitled</title>
  4.         <script>
  5.         function contar(esto){
  6.             cuantas=esto.length
  7.             if(cuantas>99){
  8.                 document.forms[0].cosa.value=esto.substring(0,99)
  9.             }
  10.             document.forms[0].total.value=cuantas;
  11.          
  12.         }
  13.         function validaFrm(){
  14.             var cosa = document.forms[0].cosa.value;
  15.             if(document.forms[0].cosa.value == "" || cosa.length < 15){
  16.                 alert('Ingreso al menos 15 caracteres');
  17.                 document.forms[0].cosa.focus();
  18.                 return false;
  19.             } else if(cosa.length > 100){
  20.                 alert('El número de caracteres es mayor a 100');
  21.                 document.forms[0].cosa.focus();
  22.                 return false;
  23.             }
  24.             return true;
  25.         }
  26.         </script>
  27.     </head>
  28.      
  29.     <body>
  30.         <form method="post" action="directorio_enlace/contacto_envio.php" onsubmit="return validaFrm()">
  31.  
  32.         <table width="515" style="color:#00FFFF  " align="center"  >
  33.  
  34.  
  35.   <tr>
  36.     <td  colspan="2"><div align="center" >Nombre:<br>
  37.       <input type="text" name="nombre"size="40" value="<? echo $_GET['nombre']; ?>"/>
  38.     </div></td>
  39.     <td  colspan="2">
  40.       <div align="center" >Email: <br>
  41.         <input name="email" type="text" size="40" value="<? echo $_GET['email']; ?>"/>
  42.       </div></td>
  43.    
  44.   </tr>
  45.  
  46.  
  47.   <tr>
  48.     <td colspan="4"><div align="center" >Comentario:<br>
  49.         <textarea cols="40" rows="6" name="cosa" onkeydown="contar(this.value)"><? echo $_GET['cosa']; ?></textarea>
  50.     <input type="text" name="total" id="total" size="3" maxlength="3" value=0 readonly>
  51.     </div></td>
  52.     </tr>
  53.      <tr>
  54.     <td  colspan="4"><div align="center" >Código de seguridad:<img src="directorio_enlace/captcha.php"  align="middle"/>
  55.             <input type="text" name="codigo_verificacion" style="width: 50px;" />
  56.       </div>
  57. </td>
  58.     </tr>
  59.  
  60.   <tr>
  61.     <td colspan="2"><div align="center" ><input type="reset" name="enviar" value="Borrar datos" /> </div></td>
  62.     <td colspan="2"> <div align="center" ><input type="submit" name="enviar" value="Enviar Mensaje" />  </div></td>
  63.    
  64.   </tr>
  65. </table>
  66.  
  67.  
  68.     </form>
  69.      
  70.      
  71.     </body>
  72.     </html>

En este segundo, comprueba que el email sea "valido" y que una serie de campos esten rellenos

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <title>Untitled Document</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <script language="JavaScript" type="text/JavaScript">
  6. <!--
  7. function MM_findObj(n, d) { //v4.01
  8.   var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
  9.     d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  10.   if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  11.   for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  12.   if(!x && d.getElementById) x=d.getElementById(n); return x;
  13. }
  14.  
  15. function MM_validateForm() { //v4.0
  16.   var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  17.   for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
  18.     if (val) { nm=val.name; if ((val=val.value)!="") {
  19.       if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
  20.         if (p<1 || p==(val.length-1)) errors+='- '+nm+' tiene que ser un email valido.\n';
  21.       } else if (test!='R') { num = parseFloat(val);
  22.         if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
  23.         if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
  24.           min=test.substring(8,p); max=test.substring(p+1);
  25.           if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
  26.     } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  27.   } if (errors) alert('The following error(s) occurred:\n'+errors);
  28.   document.MM_returnValue = (errors == '');
  29. }
  30. //-->
  31. </script>
  32. </head>
  33.  
  34. <body>
  35. <form method="post" action="contacto_envio.php" onsubmit="MM_validateForm('nombre','','R','email','','RisEmail','codigo_verificacion','','R','mensaje','','R');return document.MM_returnValue">
  36. <table width="515" style="color:#00FFFF  " align="center"  >
  37.   <tr>
  38.     <td  colspan="2"><div align="center" >Nombre:<br>
  39.       <input type="text" name="nombre"size="40" value="<? echo $_GET['nombre']; ?>"/>
  40.     </div></td>
  41.     <td  colspan="2">
  42.       <div align="center" >Email: <br>
  43.         <input name="email" type="text" size="40" value="<? echo $_GET['email']; ?>"/>
  44.       </div></td>
  45.    
  46.   </tr>
  47.  
  48.  
  49.   <tr>
  50.     <td colspan="4"><div align="center" >Comentario:<br>
  51.       <textarea name="mensaje" cols="40" rows="6"><? echo $_GET['mensaje']; ?></textarea>
  52.     </div></td>
  53.     </tr>
  54.      <tr>
  55.     <td  colspan="4"><div align="center" >Código de seguridad:<img src="captcha.php"  align="middle"/>
  56.             <input type="text" name="codigo_verificacion" style="width: 50px;" />
  57.       </div>
  58. </td>
  59.     </tr>
  60.  
  61.   <tr>
  62.     <td colspan="2"><div align="center" ><input type="reset" name="enviar" value="Borrar datos" /> </div></td>
  63.     <td colspan="2"> <div align="center" ><input type="submit" name="enviar" value="Enviar Mensaje" />  </div></td>
  64.    
  65.   </tr>
  66. </table>
  67.  
  68. </form>
  69. </body>
  70. </html>

No he trabajado nunca con javascript, mas alla de copiar y pegar con lo cual es un mundo desconocido para mi.

Un saludo
  #2 (permalink)  
Antiguo 18/05/2011, 10:11
Avatar de alguienmas  
Fecha de Ingreso: mayo-2009
Mensajes: 62
Antigüedad: 14 años, 11 meses
Puntos: 8
Respuesta: "Juntar" dos javascript

simple.... crea un nuevo archivo myscript.js por ejemplo y pegas en este, las funciones que nesecites de los formularios y luego la cargas en la pagina que necesites....

te dejo un enlace a como declarar javascript
http://www.w3schools.com/js/js_whereto.asp
  #3 (permalink)  
Antiguo 18/05/2011, 10:20
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: "Juntar" dos javascript

Muchas gracias por tu pronta respuesta.

Te entendi en parte:

- Guardo todas las funciones en una pagina
- Añado en el head:

<script type="text/javascript" src="paginaunificadora.js"></script>

Pero, en ambos formularios hay un "onsubmit" que lleva dos indicaciones distintas...

Como podras comprobar no soy muy experta en estos temas, mas voluntad que conociminetos¡¡¡
  #4 (permalink)  
Antiguo 18/05/2011, 11:11
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: "Juntar" dos javascript

Cita:
Iniciado por miriamgomez Ver Mensaje
Muchas gracias por tu pronta respuesta.

Te entendi en parte:

- Guardo todas las funciones en una pagina
- Añado en el head:

<script type="text/javascript" src="paginaunificadora.js"></script>

Pero, en ambos formularios hay un "onsubmit" que lleva dos indicaciones distintas...

Como podras comprobar no soy muy experta en estos temas, mas voluntad que conociminetos¡¡¡


Hola miriam.

La verdad no entendi muy bien que es lo que deseas hacer.
para juntar los codigos que posteaste solo hazlo como indicó ALGUIEN MAS.
sin embargo al hacer esto y se realize el submit tendrás que cargar el archivo javascript en el documento que lo vayas a usar...

La verdad es que entendí muy poco sobre lo que realmente deseas hacer, si pudieras aclararmelo un poquito más tal vez te pueda ayudar mejor..

SALUDOS
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #5 (permalink)  
Antiguo 18/05/2011, 15:03
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: "Juntar" dos javascript

Hola:

intento explicarme:

los codigos funcionan por separados, uno cuenta los caracteres y el otro revisa los correos.

Hasta aqui todo bien, pero lo que quiero hacer es un codigo unificado, en el cual cuente los caracteres y revise al correo al mismo tiempo.

Resumiendo: pasar de dos codigos independientes a uno unificado que realice las mismas comprobaciones que los dos independiente a la vez

Siento no poder explicarme mejor...

gracias de antemano
  #6 (permalink)  
Antiguo 18/05/2011, 15:26
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: "Juntar" dos javascript

Entonces mejor que no uses las funciones de Dreamweaver, porque meter mano ahí es trabajo de chinos -.-' Trata de validar el form por ti misma, siempre es un buen ejercicio de práctica
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #7 (permalink)  
Antiguo 18/05/2011, 16:50
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: "Juntar" dos javascript

=D ok, creo que ahora si te voy entendiendo mejor...

Le dí una mirada al código que posteaste y vamos a tratar de optimizarlo un poco y hacerlo mas entendible =D
bueno, vamos a armar lo que necesitas...

el primer evento de revisar cuantos caracteres tiene el objeto requiere que la función se ejecute constantemente mientras se está en el formulario, para ello haremos uso de un timer en vez del evento Keydown del objeto =D

y armamos la función que validará el número de caracteres para lo cual queda de la siguiente manera:

Código Javascript:
Ver original
  1. var timer = setInterval('COUNT_CHARACTERS();', 10);
  2.  
  3. function COUNT_CHARACTERS(){
  4.    var MyElement = document.getElementById('Comentarios');
  5.    var Count = document.getElementById('Count');
  6.    Count.innerHTML = 'Comentarios: ('+MyElement.value.length+' / 99)';
  7.    if(MyElement.value.length > 99){
  8.       MyElement.value = MyElement.value.substring(0,99);
  9.    }
  10. }

Lo que hace esta función es obtener el id del objeto mediante document.getElementById

y mediante estas dos lineas mostramos al usuario cuantos cacteres maximo puede usar y cuantos a usado, tipo (10 / 99) etc...


var Count = document.getElementById('Count');
Count.innerHTML = 'Comentarios: ('+MyElement.value.length+' / 99)';


y pondrias en tu html el campo que quieres delimitar:
<input type="text" id="Comentarios" /> ó <textarea id="Comentarios"></textarea>

de esa manera podrás validar que no se sobrepase de 99 caracteres.
ahora al siguiente paso, validar que los campos no esten vacios y que el email sea válido.
para ello la función quedaria de la siguiente manera:

Código Javascript:
Ver original
  1. var Debugger;
  2. var Proceded
  3.  
  4. function VALIDATE_FIELDS(){
  5.    Debugger='Se han encontrado los siguientes errores: \n \n';
  6.    Proceded=true;
  7.    var Fields = ['Nombre', 'Direccion', 'Edad', 'Mail', 'Pais', 'campo_N...'];
  8.    for(var i=0; i<Fields.length;i++){
  9.       var MyField = document.getElementById(Fields[i]);
  10.       if(Fields[i] == 'Mail'){
  11.          if(MyField.value.indexOf('@')==-1){
  12.             Debugger=Debugger+'* El email proporcionado es incorrecto. \n';
  13.             Proceded=false;
  14.          }
  15.       }else{
  16.          if(MyField.value == ''){
  17.             Debugger=Debugger+'* El campo '+Fields[i]+' no puede estar vacio. \n';
  18.             Proceded=false;
  19.          }
  20.       }
  21.    }
  22.    if(Proceded){
  23.       document.forms["MyData"].submit();
  24.    }else{
  25.       alert(Debugger);
  26.    }
  27. }

En esta función lo que se hace es sencillo, mediante la variable Debugger controlamos los errores que reportaremos al usuario y Proceded es una variable de tipo boleano, que nos indicara si todo salio correcto, si es así hacemos el submit del form, y si no imprimimos los erroes encontrados.

if(Proceded){
document.forms["MyData"].submit();
}else{
alert(Debugger);
}


también declaramos una variable que contiene todos los id de los elementos de nuestro formulario

var Fields = ['Nombre', 'Direccion', 'Edad', 'Mail', 'Pais', 'campo_N...'];

el cual recorreremos mediante un for para ir asignandoselos a la variable MyField

si MyField[i] vale 'Mail'

validamos que el email sea correcto, pero si MyField[i] no vale 'Mail' entonces quiere decir que se trata de otro campo y validamos que no se encuentre vacio

if(Fields[i] == 'Mail'){
if(MyField.value.indexOf('@')==-1){
Debugger=Debugger+'* El email proporcionado es incorrecto. \n';
Proceded=false;
}
}else{
if(MyField.value == ''){
Debugger=Debugger+'* El campo '+Fields[i]+' no puede estar vacio. \n';
Proceded=false;
}
}
}


el ejemplo queda de la siguiente manera y así de esta misma manera la puedes implementar en tu formulario.
Código HTML:
Ver original
  1. <title>ejemplo</title>
  2. var timer = setInterval('COUNT_CHARACTERS();', 10);
  3. var Debugger;
  4. var Proceded;
  5.  
  6. function COUNT_CHARACTERS(){
  7.     var MyElement = document.getElementById('Comentarios');
  8.     var Count = document.getElementById('Count');
  9.     Count.innerHTML = 'Comentarios: ('+MyElement.value.length+' / 99)';
  10.     if(MyElement.value.length > 99){
  11.         MyElement.value = MyElement.value.substring(0,99);
  12.     }
  13. }
  14.  
  15. function VALIDATE_FIELDS(){
  16.   Debugger='Se han encontrado los siguientes errores: \n \n';
  17.   Proceded=true;
  18.   var Fields = ['Nombre', 'Direccion', 'Edad', 'Mail', 'Pais', 'campo_N...'];
  19.   for(var i=0; i<Fields.length;i++){
  20.       var MyField = document.getElementById(Fields[i]);
  21.       if(Fields[i] == 'Mail'){
  22.           if(MyField.value.indexOf('@')==-1){
  23.               Debugger=Debugger+'* El email proporcionado es incorrecto. \n';
  24.               Proceded=false;
  25.           }
  26.       }else{
  27.           if(MyField.value == ''){
  28.               Debugger=Debugger+'* El campo '+Fields[i]+' no puede estar vacio. \n';
  29.               Proceded=false;
  30.           }
  31.       }
  32.  }
  33.  if(Proceded){
  34.       document.forms["MyData"].submit();
  35.  }else{
  36.       alert(Debugger);
  37.  }
  38. }
  39. </head>
  40. <form name="MyData" action="archivo.php" method="post">
  41.     <label id="Count">Comentarios:</label><br /><textarea id="Comentarios">Aquí tus comentarios</textarea><br />
  42.     Nombre:<br /><input type="text" id="Nombre" /><br />
  43.     Direccion:<br /><input type="text" id="Direccion" /><br />
  44.     Edad:<br /><input type="text" id="Edad" /><br />
  45.     E-Mail:<br /><input type="text" id="Mail" /><br />
  46.     Pais:<br /><input type="text" id="Pais" /><br />
  47.     Campo_N...:<br /><input type="text" id="campo_N..." /><br />
  48.     <input type="button" onClick="VALIDATE_FIELDS();" value="imprimir alerta" />
  49. </form>
  50. </body>
  51. </html>

es muy importante que te des cuenta de que para validar el formulario ya no se está utilizando un SUBMIT, se está utilizando un button

<input type="button" onClick="VALIDATE_FIELDS();" value="Enviar formulario" />

de esta manera ya tenemos unidos tus dos scripts y de una manera mas entendible, bueno al menos eso creo, jejeje.

Espero que te sea de ayuda y que si resuelva tu inconveniente.

SALUDOS y EXITO !!!!

=D
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #8 (permalink)  
Antiguo 18/05/2011, 23:40
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: "Juntar" dos javascript

Oye genial, muy buen trabajo, te lo has currado.

Si te soy franca la parte teorica no me entere de mucho jjajaja pero es lo que queria...

Solo un pero, habria alguna manera de ponerle tambien un minimo a los caracterece que contiene el primre text? osea que no pase de 99 y no menos de ...

Me explique? y sobre todo mil gracias¡¡¡
  #9 (permalink)  
Antiguo 19/05/2011, 08:59
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: "Juntar" dos javascript

Jejeje, no te preocupes, igual y la explicacion la puse simplemente para si tuvieras duda de como funciona.
ok, con respecto a lo de el primer text si es posible lo que pides.
en este caso el primer text seria 'Nombre'

var Fields = ['Nombre', 'Direccion', 'Edad', 'Mail', 'Pais', 'campo_N...'];
si piensas cambiarlo asegurate de cambiarle el id al imput text tambien. =D
Nombre:<br /><input type="text" id="Nombre" /><br />

y bueno, pues el código cambió de la siguiente manera....

Código HTML:
Ver original
  1. <title>ejemplo</title>
  2. var timer = setInterval('COUNT_CHARACTERS();', 10);
  3. var Debugger;
  4. var Proceded;
  5.  
  6. function COUNT_CHARACTERS(){
  7.     var MyElement = document.getElementById('Comentarios');
  8.     var Count = document.getElementById('Count');
  9.     Count.innerHTML = 'Comentarios: ('+MyElement.value.length+' / 99)';
  10.     if(MyElement.value.length > 99){
  11.         MyElement.value = MyElement.value.substring(0,99);
  12.     }
  13. }
  14.  
  15. function VALIDATE_FIELDS(){
  16.   Debugger='Se han encontrado los siguientes errores: \n \n';
  17.   Proceded=true;
  18.   var Fields = ['Nombre', 'Direccion', 'Edad', 'Mail', 'Pais', 'campo_N...'];
  19.   for(var i=0; i<Fields.length;i++){
  20.       var MyField = document.getElementById(Fields[i]);
  21.       if(Fields[i] == 'Mail'){
  22.           if(MyField.value.indexOf('@')==-1){
  23.               Debugger=Debugger+'* El email proporcionado es incorrecto. \n';
  24.               Proceded=false;
  25.           }
  26.       }else if(Fields[i] == 'Nombre'){
  27.           if(MyField.value.length < 10 || MyField.value.length > 99){
  28.               Debugger=Debugger+'* El campo '+Fields[i]+' debe contener al menos 10 caracteres y menos de 99. \n';
  29.               Proceded=false;
  30.           }
  31.       }else{
  32.         if(MyField.value == ''){
  33.               Debugger=Debugger+'* El campo '+Fields[i]+' no puede estar vacio. \n';
  34.               Proceded=false;
  35.           }  
  36.       }
  37.   }
  38.   if(Proceded){
  39.       document.forms["MyData"].submit();
  40.   }else{
  41.       alert(Debugger);
  42.   }
  43. }
  44. </head>
  45. <form name="MyData" action="archivo.php" method="post">
  46.     <label id="Count">Comentarios:</label><br /><textarea id="Comentarios">Aquí tus comentarios</textarea><br />
  47.     Nombre:<br /><input type="text" id="Nombre" /><br />
  48.     Direccion:<br /><input type="text" id="Direccion" /><br />
  49.     Edad:<br /><input type="text" id="Edad" /><br />
  50.     E-Mail:<br /><input type="text" id="Mail" /><br />
  51.     Pais:<br /><input type="text" id="Pais" /><br />
  52.     Campo_N...:<br /><input type="text" id="campo_N..." /><br />
  53.     <input type="button" onClick="VALIDATE_FIELDS();" value="imprimir alerta" />
  54. </form>
  55. </body>
  56. </html>

con esto tambien delimitas el numero de caracteres del primer text, en este caso "Nombre"
esta parte del código es la que valida al primer text
if(MyField.value.length < 10 || MyField.value.length > 99)
10 es el mínimo y 99 el maximo, cambialos a tu necesidad....

Espero que sea lo que necesitas =D

SALUDOS y EXITO !!!!
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #10 (permalink)  
Antiguo 19/05/2011, 09:24
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: "Juntar" dos javascript

Pues si que has tenido exito¡¡¡¡

Cambie el campo nombre por el de comentario y va genial.


Pero no me pude resistir y lo complique un poco mas jaja,ja

Le añadi otro script que tengo funcionando en otro codigo, creo que se llama un combo, pero con un resultado penoso, tenia que haber cambiado el titulo por tres jajajaj

Te dejo el codigo por si das con el fallo:
  #11 (permalink)  
Antiguo 19/05/2011, 09:27
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: "Juntar" dos javascript

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <title>ejemplo</title>
  4. <script>
  5. var timer = setInterval('COUNT_CHARACTERS();', 10);
  6. var Debugger;
  7. var Proceded;
  8.  
  9. function COUNT_CHARACTERS(){
  10.     var MyElement = document.getElementById('Comentarios');
  11.     var Count = document.getElementById('Count');
  12.     Count.innerHTML = 'Comentarios: ('+MyElement.value.length+' / 99)';
  13.     if(MyElement.value.length > 99){
  14.         MyElement.value = MyElement.value.substring(0,99);
  15.     }
  16. }
  17.  
  18. function VALIDATE_FIELDS(){
  19.   Debugger='Se han encontrado los siguientes errores: \n \n';
  20.   Proceded=true;
  21.   var Fields = ['Comentarios','Nombre', 'Direccion', 'Edad', 'Mail', 'Pais', 'campo_N...'];
  22.   for(var i=0; i<Fields.length;i++){
  23.       var MyField = document.getElementById(Fields[i]);
  24.       if(Fields[i] == 'Mail'){
  25.           if(MyField.value.indexOf('@')==-1){
  26.               Debugger=Debugger+'* El email proporcionado es incorrecto. \n';
  27.               Proceded=false;
  28.           }
  29.       }else if(Fields[i] == 'Comentarios'){
  30.           if(MyField.value.length < 10 || MyField.value.length > 99){
  31.               Debugger=Debugger+'* El campo '+Fields[i]+' debe contener al menos 10 caracteres y menos de 99. \n';
  32.               Proceded=false;
  33.           }
  34.       }else{
  35.         if(MyField.value == ''){
  36.               Debugger=Debugger+'* El campo '+Fields[i]+' no puede estar vacio. \n';
  37.               Proceded=false;
  38.           }  
  39.       }
  40.   }
  41.   if(Proceded){
  42.       document.forms["MyData"].submit();
  43.   }else{
  44.       alert(Debugger);
  45.   }
  46. }
  47. </script>
  48. <script type="text/JavaScript">
  49.  
  50.  
  51. //-->
  52. function cambiar()
  53. {
  54. var index=document.forms.formulario.servicios.selectedIndex;
  55.  
  56. formulario.meses.length=0;
  57.  
  58. if(index==2) Arte();
  59. if(index==3) Ciencia();
  60. if(index==4) Compra();
  61. if(index==5) Deportes();
  62. if(index==10) Negocios();
  63. if(index==6) Educacion();
  64. if(index==7) Hogar();
  65. if(index==8) Internet();
  66. if(index==9) Juegos();
  67. if(index==11) Salud();
  68. if(index==1) Adultos();
  69.  
  70. }
  71. function Arte(){
  72. opcion0=new Option("...","...","defauldSelected");
  73. opcion1=new Option("Literatura","Literatura");
  74. opcion2=new Option("Cine","Cine");
  75. opcion3=new Option("Fotografía","Fotofrafía");
  76.  
  77. document.forms.formulario.meses.options[0]=opcion0;
  78. document.forms.formulario.meses.options[1]=opcion1;
  79. document.forms.formulario.meses.options[2]=opcion2;
  80. document.forms.formulario.meses.options[3]=opcion3;
  81. }
  82. function Ciencia(){
  83. opcion0=new Option("...","...","defauldSelected");
  84. opcion1=new Option("Ingeniería","Ingeniería");
  85. opcion2=new Option("Media Ambiente","Medio Ambiente");
  86. opcion3=new Option("Arquitectura","Arquitectura");
  87.  
  88.  
  89. document.forms.formulario.meses.options[0]=opcion0;
  90. document.forms.formulario.meses.options[1]=opcion1;
  91. document.forms.formulario.meses.options[2]=opcion2;
  92. document.forms.formulario.meses.options[3]=opcion3;
  93.  
  94. }
  95.  
  96. function Compra(){
  97. opcion0=new Option("...","...","defauldSelected");
  98. opcion1=new Option("Casa y Jardín","Casa y Jardín");
  99. opcion2=new Option("Animales","Animales");
  100. opcion3=new Option("Automoviles","Automoviles");
  101.  
  102.  
  103.  
  104. document.forms.formulario.meses.options[0]=opcion0;
  105. document.forms.formulario.meses.options[1]=opcion1;
  106. document.forms.formulario.meses.options[2]=opcion2;
  107. document.forms.formulario.meses.options[3]=opcion3;
  108.  
  109. }
  110.  
  111. function Deportes(){
  112. opcion0=new Option("...","...","defauldSelected");
  113. opcion1=new Option("Automovilismo","Automovilismo");
  114. opcion2=new Option("Futbol","Futbol");
  115. opcion3=new Option("Tenis","Tenis");
  116. opcion4=new Option("Padel","Padel");
  117.  
  118.  
  119. document.forms.formulario.meses.options[0]=opcion0;
  120. document.forms.formulario.meses.options[1]=opcion1;
  121. document.forms.formulario.meses.options[2]=opcion2;
  122. document.forms.formulario.meses.options[3]=opcion3;
  123. document.forms.formulario.meses.options[4]=opcion4;
  124.  
  125. }
  126. function Negocios(){
  127. opcion0=new Option("...","...","defauldSelected");
  128. opcion1=new Option("Bares y Restaurantes","Bares y Restaurantes");
  129. opcion2=new Option("Fiestas","Fiestas");
  130. opcion3=new Option("Asesorias","Asesorias");
  131. opcion4=new Option("Limpiezas","Limpiezas");
  132.  
  133.  
  134. document.forms.formulario.meses.options[0]=opcion0;
  135. document.forms.formulario.meses.options[1]=opcion1;
  136. document.forms.formulario.meses.options[2]=opcion2;
  137. document.forms.formulario.meses.options[3]=opcion3;
  138. document.forms.formulario.meses.options[4]=opcion4;
  139.  
  140. }
  141. function Educacion(){
  142. opcion0=new Option("...","...","defauldSelected");
  143. opcion1=new Option("Cursos a distancia","Curso a distancia");
  144. opcion2=new Option("Idiomas","Idiomas");
  145. opcion3=new Option("Colegios","Colegios");
  146. opcion4=new Option("Web educativas","Web educativas");
  147.  
  148.  
  149. document.forms.formulario.meses.options[0]=opcion0;
  150. document.forms.formulario.meses.options[1]=opcion1;
  151. document.forms.formulario.meses.options[2]=opcion2;
  152. document.forms.formulario.meses.options[3]=opcion3;
  153. document.forms.formulario.meses.options[4]=opcion4;
  154.  
  155. }
  156. function Hogar(){
  157. opcion0=new Option("...","...","defauldSelected");
  158. opcion1=new Option("Cocina","Cocina");
  159. opcion2=new Option("Muebles","Muebles");
  160. opcion3=new Option("Decoración","Decoracion");
  161. opcion4=new Option("Electrodomésticos","Electrodomésticos");
  162.  
  163.  
  164. document.forms.formulario.meses.options[0]=opcion0;
  165. document.forms.formulario.meses.options[1]=opcion1;
  166. document.forms.formulario.meses.options[2]=opcion2;
  167. document.forms.formulario.meses.options[3]=opcion3;
  168. document.forms.formulario.meses.options[4]=opcion4;
  169.  
  170. }
  171. function Internet(){
  172. opcion0=new Option("...","...","defauldSelected");
  173. opcion1=new Option("Informática","Informática");
  174. opcion2=new Option("Alojamiento","Alojamiento");
  175. opcion3=new Option("Chat","Chat");
  176. opcion4=new Option("Descargas","Descargas");
  177.  
  178.  
  179. document.forms.formulario.meses.options[0]=opcion0;
  180. document.forms.formulario.meses.options[1]=opcion1;
  181. document.forms.formulario.meses.options[2]=opcion2;
  182. document.forms.formulario.meses.options[3]=opcion3;
  183. document.forms.formulario.meses.options[4]=opcion4;
  184.  
  185. }
  186. function Juegos(){
  187. opcion0=new Option("...","...","defauldSelected");
  188. opcion1=new Option("Loterias-Quinielas","loterias-Quinielas");
  189. opcion2=new Option("Videojuegos","Videojuegos");
  190.  
  191.  
  192.  
  193.  
  194. document.forms.formulario.meses.options[0]=opcion0;
  195. document.forms.formulario.meses.options[1]=opcion1;
  196. document.forms.formulario.meses.options[2]=opcion2;
  197.  
  198.  
  199. }
  200. function Salud(){
  201. opcion0=new Option("...","...","defauldSelected");
  202. opcion1=new Option("Medicamentos","Medicamentos");
  203. opcion2=new Option("Medicina Alternativa","Medicina Alternativa");
  204. opcion3=new Option("Dietética","Dietética");
  205. document.forms.formulario.meses.options[0]=opcion0;
  206. document.forms.formulario.meses.options[1]=opcion1;
  207. document.forms.formulario.meses.options[2]=opcion2;
  208. document.forms.formulario.meses.options[3]=opcion3;
  209. }
  210. function Adultos(){
  211. opcion0=new Option("...","...","defauldSelected");
  212. opcion1=new Option("Contactos","Contactos");
  213. opcion2=new Option("Videos X","Videos X");
  214. opcion3=new Option("Tendencias","Tendencias");
  215.  
  216. document.forms.formulario.meses.options[0]=opcion0;
  217. document.forms.formulario.meses.options[1]=opcion1;
  218. document.forms.formulario.meses.options[2]=opcion2;
  219. document.forms.formulario.meses.options[3]=opcion3;
  220. }
  221. </script>
  222.  
  223. </head>
  224. <body>
  225. <form name="MyData" action="archivo.php" method="post">
  226.     <label id="Count">Comentarios:</label><br /><textarea id="Comentarios">Aqu&#237; tus comentarios</textarea><br />
  227.    Nombre:<br /><input type="text" id="Nombre" /><br />
  228.     Direccion:<br /><input type="text" id="Direccion" /><br />
  229.     Edad:<br /><input type="text" id="Edad" /><br />
  230.     E-Mail:<br /><input type="text" id="Mail" /><br />
  231.     Pais:<br /><input type="text" id="Pais" /><br />
  232.     Campo_N...:<br /><input type="text" id="campo_N..." /><br />
  233.    
  234.  <select name="servicios" OnChange="cambiar()" style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">
  235.             <option value="">Escojer</option>
  236.             <option value="Adultos">Adultos</option>
  237.             <option value="Arte y Literatura">Arte y Literatura</option>
  238.             <option value="Ciencia y Tecnolog&iacute;a">Ciencia y Tecnolog&iacute;a</option>
  239.             <option value="Compra-Venta">Compra-Venta</option>
  240.             <option value="Deportes">Deportes</option>
  241.             <option value="Educaci&oacute;n">Educaci&oacute;n</option>
  242.             <option value="Hogar">Hogar</option>
  243.             <option value="Internet">Internet</option>
  244.             <option value="Juegos">Juegos</option>
  245.             <option value="Negocios">Negocios</option>
  246.             <option value="Salud y Belleza">Salud y Belleza</option>
  247.                      </select>
  248.        <br>
  249.  
  250.           <select name="meses" style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">
  251.             <option value="Enero" selected>...</option>
  252.           </select>
  253.  
  254.     <input type="button" onClick="VALIDATE_FIELDS();" value="imprimir alerta" />
  255. </form>
  256. </body>
  257. </html>
  #12 (permalink)  
Antiguo 19/05/2011, 09:49
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: "Juntar" dos javascript

Disculpame, pero no entendi muy bien lo que necesitas... =P

Cuando seleccionas un valor de combo
{adultos, arte y literatura, deportes, belleza, etc..}

¿Qué debe suceder?
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #13 (permalink)  
Antiguo 19/05/2011, 09:56
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: "Juntar" dos javascript

Perdona por no explicarme bien...

Lo intento de nuevo:

Cuando tu escoges una opcion del primer select debe "cargarse" las opciones que se indican.

Por ejemplo:

Cuando escoges la opcion negocios deberia de cargarse bares, fiestas, asesorias...
Código Javascript:
Ver original
  1. 126.function Negocios(){127.opcion0=new Option("...","...","defauldSelected");128.opcion1=new Option("Bares y Restaurantes","Bares y Restaurantes");129.opcion2=new Option("Fiestas","Fiestas");130.opcion3=new Option("Asesorias","Asesorias");131.opcion4=new Option("Limpiezas","Limpiezas");132. 133. 134.document.forms.formulario.meses.options[0]=opcion0;135.document.forms.formulario.meses.options[1]=opcion1;136.document.forms.formulario.meses.options[2]=opcion2; 137.document.forms.formulario.meses.options[3]=opcion3;138.document.forms.formulario.meses.options[4]=opcion4; 139. 140.}
  #14 (permalink)  
Antiguo 19/05/2011, 10:00
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: "Juntar" dos javascript

aaaa, ok, ok, =D
jeje, pero si no me equivoco esas opciones se deben cargar en el segundo combobox cierto??
ok, dame un momento para tratar el asunto... =P
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #15 (permalink)  
Antiguo 19/05/2011, 10:58
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: "Juntar" dos javascript

El codigo queda reducido de la siguiente manera =P

Código Javascript:
Ver original
  1. var MyOptions = {adultos:['...', 'Contactos', 'Videos X', 'Tendencias'], arte:['...', 'Literatura', 'Cine', 'Fotografía'], ciencia:['...', 'Ingeniería', 'Medio Ambiente', 'Arquitectura'], compra:['...', 'Casa y Jardín', 'Animales', 'Automóviles'], deportes:['...', 'Automovilismo', 'Futbol', 'Tenis', 'Padel'], educacion:['...', 'Cursos a distancia', 'Idiomas', 'Colegios', 'Web educativas'], hogar:['...', 'Cocina', 'Muebles', 'Decoración', 'Electrodomésticos'], internet:['...', 'Informática', 'Alojamiento', 'Chat', 'Descargas'], Juegos:['...','Loterias-Quinielas', 'Videojuegos'], negocios:['...', 'Bares y Restaurantes', 'Fiestas', 'Asesorias', 'Limpieza'], salud:['...', 'Medicamentos', 'Medicina Alternativa', 'Dietética']}
  2. function cambiar(){
  3.     try{
  4.     var service = document.getElementById('servicios');
  5.     var Elements;
  6.     var Printer='<select id="mes" style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">';
  7.     var Sel = document.getElementById('meses');
  8.     switch(service.selectedIndex){
  9.         case 1:
  10.             Elements = MyOptions.adultos;
  11.         break;
  12.         case 2:
  13.             Elements = MyOptions.arte;
  14.         break;
  15.         case 3:
  16.             Elements = MyOptions.ciencia;
  17.         break;
  18.         case 4:
  19.             Elements = MyOptions.compra;
  20.         break;
  21.         case 5:
  22.             Elements = MyOptions.deportes;
  23.         break;
  24.         case 6:
  25.             Elements = MyOptions.educacion;
  26.         break;
  27.         case 7:
  28.             Elements = MyOptions.hogar;
  29.         break;
  30.         case 8:
  31.             Elements = MyOptions.internet;
  32.         break;
  33.         case 9:
  34.             Elements = MyOptions.Juegos;
  35.         break;
  36.         case 10:
  37.             Elements = MyOptions.negocios;
  38.         break;
  39.         case 11:
  40.             Elements = MyOptions.salud;
  41.         break;
  42.         default:
  43.             Elements = ['...'];
  44.         break;
  45.     }
  46.     for(var i=0;i<Elements.length;i++){
  47.         Printer=Printer+'<option value="'+Elements[i]+'" selected>'+Elements[i]+'</option>'
  48.     }
  49.     Sel.innerHTML=Printer+'</select>';
  50.     var mes = document.getElementById('mes');
  51.     mes.value='...';
  52.     }catch(e){}
  53. }

ya implementado se ve así


<html>
<head>
<title>ejemplo</title>
<script>
var timer = setInterval('COUNT_CHARACTERS();', 10);
var Debugger;
var Proceded;
function COUNT_CHARACTERS(){
var MyElement = document.getElementById('Comentarios');
var Count = document.getElementById('Count');
Count.innerHTML = 'Comentarios: ('+MyElement.value.length+' / 99)';
if(MyElement.value.length > 99){
MyElement.value = MyElement.value.substring(0,99);
}
}
function VALIDATE_FIELDS(){
Debugger='Se han encontrado los siguientes errores: \n \n';
Proceded=true;
var Fields = ['Nombre', 'Direccion', 'Edad', 'Mail', 'Pais', 'campo_N...'];
for(var i=0; i<Fields.length;i++){
var MyField = document.getElementById(Fields[i]);
if(Fields[i] == 'Mail'){
if(MyField.value.indexOf('@')==-1){
Debugger=Debugger+'* El email proporcionado es incorrecto. \n';
Proceded=false;
}
}else if(Fields[i] == 'Nombre'){
if(MyField.value.length < 10 || MyField.value.length > 99){
Debugger=Debugger+'* El campo '+Fields[i]+' debe contener al menos 10 caracteres y menos de 99. \n';
Proceded=false;
}
}else{
if(MyField.value == ''){
Debugger=Debugger+'* El campo '+Fields[i]+' no puede estar vacio. \n';
Proceded=false;
}
}
}
if(Proceded){
document.forms["MyData"].submit();
}else{
alert(Debugger);
}
}
//-->
var MyOptions = {adultos:['...', 'Contactos', 'Videos X', 'Tendencias'], arte:['...', 'Literatura', 'Cine', 'Fotografía'], ciencia:['...', 'Ingeniería', 'Medio Ambiente', 'Arquitectura'], compra:['...', 'Casa y Jardín', 'Animales', 'Automóviles'], deportes:['...', 'Automovilismo', 'Futbol', 'Tenis', 'Padel'], educacion:['...', 'Cursos a distancia', 'Idiomas', 'Colegios', 'Web educativas'], hogar:['...', 'Cocina', 'Muebles', 'Decoración', 'Electrodomésticos'], internet:['...', 'Informática', 'Alojamiento', 'Chat', 'Descargas'], Juegos:['...','Loterias-Quinielas', 'Videojuegos'], negocios:['...', 'Bares y Restaurantes', 'Fiestas', 'Asesorias', 'Limpieza'], salud:['...', 'Medicamentos', 'Medicina Alternativa', 'Dietética']}
function cambiar(){
try{
var service = document.getElementById('servicios');
var Elements;
var Printer='<select id="mes" style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">';
var Sel = document.getElementById('meses');
switch(service.selectedIndex){
case 1:
Elements = MyOptions.adultos;
break;
case 2:
Elements = MyOptions.arte;
break;
case 3:
Elements = MyOptions.ciencia;
break;
case 4:
Elements = MyOptions.compra;
break;
case 5:
Elements = MyOptions.deportes;
break;
case 6:
Elements = MyOptions.educacion;
break;
case 7:
Elements = MyOptions.hogar;
break;
case 8:
Elements = MyOptions.internet;
break;
case 9:
Elements = MyOptions.Juegos;
break;
case 10:
Elements = MyOptions.negocios;
break;
case 11:
Elements = MyOptions.salud;
break;
default:
Elements = ['...'];
break;
}
for(var i=0;i<Elements.length;i++){
Printer=Printer+'<option value="'+Elements[i]+'" selected>'+Elements[i]+'</option>'
}
Sel.innerHTML=Printer+'</select>';
var mes = document.getElementById('mes');
mes.value='...';
}catch(e){}
}

</script>
</head>
<body>
<form name="MyData" action="archivo.php" method="post">
<label id="Count">Comentarios:</label><br /><textarea id="Comentarios">Aqu&iacute; tus comentarios</textarea><br />
Nombre:<br /><input type="text" id="Nombre" /><br />
Direccion:<br /><input type="text" id="Direccion" /><br />
Edad:<br /><input type="text" id="Edad" /><br />
E-Mail:<br /><input type="text" id="Mail" /><br />
Pais:<br /><input type="text" id="Pais" /><br />
Campo_N...:<br /><input type="text" id="campo_N..." /><br /> 
<select name="servicios" id="servicios" OnChange="cambiar()" style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">
<option value="">Escojer</option>
<option value="Adultos">Adultos</option>
<option value="Arte y Literatura">Arte y Literatura</option>
<option value="Ciencia y Tecnolog&iacute;a">Ciencia y Tecnolog&iacute;a</option>
<option value="Compra-Venta">Compra-Venta</option>
<option value="Deportes">Deportes</option>
<option value="Educaci&oacute;n">Educaci&oacute;n</option>
<option value="Hogar">Hogar</option>
<option value="Internet">Internet</option>
<option value="Juegos">Juegos</option>
<option value="Negocios">Negocios</option>
<option value="Salud y Belleza">Salud y Belleza</option>
<option value="Sociedad">Sociedad</option>
<option value="Turismo y Viaje">Turismo y Viaje</option>
</select>
<br>
<div id="meses">
<select style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">
<option value="Enero" selected>...</option>
</select>
</div>
<input type="button" onClick="VALIDATE_FIELDS();" value="imprimir alerta" />
</form>
</body>
</html>


Es importante destacar que para rellenar automaticamente el segundo combobox, se agregó un <div>

<div id="meses"> esto para indicar donde se va a imprimir el contenido
var Sel = document.getElementById('meses');

=D...

Espero que te sea de utilidad....
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #16 (permalink)  
Antiguo 19/05/2011, 11:05
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: "Juntar" dos javascript

Este mismo código funciona para el mismo formulario
Código Javascript:
Ver original
  1. var timer=setInterval("COUNT_CHARACTERS();",10),Debugger,Proceded;function COUNT_CHARACTERS(){var b=document.getElementById("Comentarios");document.getElementById("Count").innerHTML="Comentarios: ("+b.value.length+" / 99)";if(b.value.length>99)b.value=b.value.substring(0,99)}
  2. function VALIDATE_FIELDS(){Debugger="Se han encontrado los siguientes errores: \n \n";Proceded=!0;for(var b=["Nombre","Direccion","Edad","Mail","Pais","campo_N..."],a=0;a<b.length;a++){var c=document.getElementById(b[a]);if(b[a]=="Mail")c.value.indexOf("@")==-1&&(Debugger+="* El email proporcionado es incorrecto. \n",Proceded=!1);else if(b[a]=="Nombre"){if(c.value.length<10||c.value.length>99)Debugger=Debugger+"* El campo "+b[a]+" debe contener al menos 10 caracteres y menos de 99. \n",Proceded=!1}else c.value==
  3. ""&&(Debugger=Debugger+"* El campo "+b[a]+" no puede estar vacio. \n",Proceded=!1)}Proceded?document.forms.MyData.submit():alert(Debugger)}
  4. var MyOptions={adultos:["...","Contactos","Videos X","Tendencias"],arte:["...","Literatura","Cine","Fotograf\u00eda"],ciencia:["...","Ingenier\u00eda","Medio Ambiente","Arquitectura"],compra:["...","Casa y Jard\u00edn","Animales","Autom\u00f3viles"],deportes:["...","Automovilismo","Futbol","Tenis","Padel"],educacion:["...","Cursos a distancia","Idiomas","Colegios","Web educativas"],hogar:["...","Cocina","Muebles","Decoraci\u00f3n","Electrodom\u00e9sticos"],internet:["...","Inform\u00e1tica","Alojamiento",
  5. "Chat","Descargas"],Juegos:["...","Loterias-Quinielas","Videojuegos"],negocios:["...","Bares y Restaurantes","Fiestas","Asesorias","Limpieza"],salud:["...","Medicamentos","Medicina Alternativa","Diet\u00e9tica"]};
  6. function cambiar(){try{var b=document.getElementById("servicios"),a,c='<select id="mes" style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">',d=document.getElementById("meses");switch(b.selectedIndex){case 1:a=MyOptions.adultos;break;case 2:a=MyOptions.arte;break;case 3:a=MyOptions.ciencia;break;case 4:a=MyOptions.compra;break;case 5:a=MyOptions.deportes;break;case 6:a=MyOptions.educacion;break;case 7:a=MyOptions.hogar;
  7. break;case 8:a=MyOptions.internet;break;case 9:a=MyOptions.Juegos;break;case 10:a=MyOptions.negocios;break;case 11:a=MyOptions.salud;break;default:a=["..."]}for(b=0;b<a.length;b++)c=c+'<option value="'+a[b]+'" selected>'+a[b]+"</option>";d.innerHTML=c+"</select>";document.getElementById("mes").value="..."}catch(e){}};


te recomiendo utilizarlo cuando vayas a liberar el proyecto.. =D

y quedaria algo así
Código HTML:
Ver original
  1. <title>ejemplo</title>
  2. var timer=setInterval("COUNT_CHARACTERS();",10),Debugger,Proceded;function COUNT_CHARACTERS(){var b=document.getElementById("Comentarios");document.getElementById("Count").innerHTML="Comentarios: ("+b.value.length+" / 99)";if(b.value.length>99)b.value=b.value.substring(0,99)}
  3. function VALIDATE_FIELDS(){Debugger="Se han encontrado los siguientes errores: \n \n";Proceded=!0;for(var b=["Nombre","Direccion","Edad","Mail","Pais","campo_N..."],a=0;a<b.length;a++){var c=document.getElementById(b[a]);if(b[a]=="Mail")c.value.indexOf("@")==-1&&(Debugger+="* El email proporcionado es incorrecto. \n",Proceded=!1);else if(b[a]=="Nombre"){if(c.value.length<10||c.value.length>99)Debugger=Debugger+"* El campo "+b[a]+" debe contener al menos 10 caracteres y menos de 99. \n",Proceded=!1}else c.value==
  4. ""&&(Debugger=Debugger+"* El campo "+b[a]+" no puede estar vacio. \n",Proceded=!1)}Proceded?document.forms.MyData.submit():alert(Debugger)}
  5. var MyOptions={adultos:["...","Contactos","Videos X","Tendencias"],arte:["...","Literatura","Cine","Fotograf\u00eda"],ciencia:["...","Ingenier\u00eda","Medio Ambiente","Arquitectura"],compra:["...","Casa y Jard\u00edn","Animales","Autom\u00f3viles"],deportes:["...","Automovilismo","Futbol","Tenis","Padel"],educacion:["...","Cursos a distancia","Idiomas","Colegios","Web educativas"],hogar:["...","Cocina","Muebles","Decoraci\u00f3n","Electrodom\u00e9sticos"],internet:["...","Inform\u00e1tica","Alojamiento",
  6. "Chat","Descargas"],Juegos:["...","Loterias-Quinielas","Videojuegos"],negocios:["...","Bares y Restaurantes","Fiestas","Asesorias","Limpieza"],salud:["...","Medicamentos","Medicina Alternativa","Diet\u00e9tica"]};
  7. function cambiar(){try{var b=document.getElementById("servicios"),a,c='<select id="mes" style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">',d=document.getElementById("meses");switch(b.selectedIndex){case 1:a=MyOptions.adultos;break;case 2:a=MyOptions.arte;break;case 3:a=MyOptions.ciencia;break;case 4:a=MyOptions.compra;break;case 5:a=MyOptions.deportes;break;case 6:a=MyOptions.educacion;break;case 7:a=MyOptions.hogar;
  8. break;case 8:a=MyOptions.internet;break;case 9:a=MyOptions.Juegos;break;case 10:a=MyOptions.negocios;break;case 11:a=MyOptions.salud;break;default:a=["..."]}for(b=0;b<a.length;b++)c=c+'<option value="'+a[b]+'" selected>'+a[b]+"</option>";d.innerHTML=c+"</select>";document.getElementById("mes").value="..."}catch(e){}};
  9. </head>
  10. <form name="MyData" action="archivo.php" method="post">
  11. <label id="Count">Comentarios:</label><br /><textarea id="Comentarios">Aqu&iacute; tus comentarios</textarea><br />
  12. Nombre:<br /><input type="text" id="Nombre" /><br />
  13. Direccion:<br /><input type="text" id="Direccion" /><br />
  14. Edad:<br /><input type="text" id="Edad" /><br />
  15. E-Mail:<br /><input type="text" id="Mail" /><br />
  16. Pais:<br /><input type="text" id="Pais" /><br />
  17. Campo_N...:<br /><input type="text" id="campo_N..." /><br />  
  18. <select name="servicios" id="servicios" OnChange="cambiar()" style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">
  19. <option value="">Escojer</option>
  20. <option value="Adultos">Adultos</option>
  21. <option value="Arte y Literatura">Arte y Literatura</option>
  22. <option value="Ciencia y Tecnolog&iacute;a">Ciencia y Tecnolog&iacute;a</option>
  23. <option value="Compra-Venta">Compra-Venta</option>
  24. <option value="Deportes">Deportes</option>
  25. <option value="Educaci&oacute;n">Educaci&oacute;n</option>
  26. <option value="Hogar">Hogar</option>
  27. <option value="Internet">Internet</option>
  28. <option value="Juegos">Juegos</option>
  29. <option value="Negocios">Negocios</option>
  30. <option value="Salud y Belleza">Salud y Belleza</option>
  31. <option value="Sociedad">Sociedad</option>
  32. <option value="Turismo y Viaje">Turismo y Viaje</option>
  33. <br>
  34. <div id="meses">
  35. <select style="color:white;font-weight:bold;border-style: outset; border-width: 4px; border-color:#00FFFF;background:#000000;font-size:11pt;">
  36. <option value="Enero" selected>...</option>
  37. </div>
  38. <input type="button" onClick="VALIDATE_FIELDS();" value="imprimir alerta" />
  39. </form>
  40. </body>
  41. </html>

Menos Líneas de código, y menos entendible también, pero para fines prácticos funciona mejor....

SALUDOS y EXITO !!
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #17 (permalink)  
Antiguo 19/05/2011, 13:54
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: "Juntar" dos javascript

En pocas palabras:

EXCELENTE¡¡¡¡

Te lo has currado, y funciona de muerte

Mil gracias
  #18 (permalink)  
Antiguo 19/05/2011, 15:14
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: "Juntar" dos javascript

Que bueno saber que te a funcionado =D

cualquier cosa en que te pueda ayudar con gusto :)

SALUDOS y EXITO !!!
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!

Etiquetas: juntar
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 09:49.