Enviar formulario al seleccionar opción del selector

El siguiente script muestra un selector de idiomas que al seleccionar uno de ellos se envía el formulario para mostrar el contenido en el idioma seleccionado.

El script se alimenta principalmente de las tecnologías HTML, javascript y PHP.

El formulario tiene un input select onchange=»this.form.submit()». Esto significa que al cambiar la opción del selector se enviará el formulario con la opción seleccionada.

En el ejemplo que ilustramos utilizamos lo siguiente:

<select name="idioma" id="idioma" onchange="this.form.submit()">

Recibimos con PHP para que según la opción enviada se muestre un idioma u otro.

Ver ejemplo en funcionamiento

Autor
Escrito por Jose Aguilar - Director ejecutivo y tecnológico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.
Te ha servido? Valora esta entrada!
(5 votos, promedio: 5 de 5)
Comparte en las redes sociales
¿Buscas trabajo de programador?

6 respuestas a “Enviar formulario al seleccionar opción del selector”

  1. krixsman dice:

    Disculpen revivir un blog con publicacion tan vieja. Aun reposnden a ella?

  2. Dey Ribon dice:

    como hago para usar ese mismo código pero que al seleccionar una opción de el select haga funciones diferentes es decir si selecciono la primera opción del select me dirija a una pagina o guarde en la base de datos y con la segunda opncion me la direccione a otra pagina

  3. Abraham Ruiz dice:

    Buna tarde, tengo que hacer una practica en donde el usuario en los select que escoja me lleguen a mi correo pero solo me llega el mensag, el telefono y el remitente, los demas datos no llegan…

    este es el html del formilario:

    Arena Silica Grano de Oro

    function MM_validateForm() { //v4.0
    if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors=»,args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
    if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
    if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.n';
    } else if (test!='R') { num = parseFloat(val);
    if (isNaN(val)) errors+='- '+nm+' must contain a number.n';
    if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
    min=test.substring(8,p); max=test.substring(p+1);
    if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.n'; }
    } if (errors) alert('The following error(s) occurred:n'+errors);
    document.MM_returnValue = (errors == '');
    } }

    Inicio
    Producto

    Especificaciones

    Cotizaciones

    Cotiza

    Contacto
    galeria.html»>Galeria
    Escribenos

    Buzon de Mensajes

    Acceso

    Sicovi
    Inventa

     

    Cotizacion de material

    INFORMACIÓ DE CONTACTO

    Nombre:

    e-mail:

    Teléfono:

    Móvil:

     

    Direcció:

    TIPO DE MALLA/MALLA

    Granulometría:

    Seleccione una Opción
    Banco X
    Seleccione una Opción
    40/50
    6/8
    20/30
    8/30
    16/30

    Tipo de Uso:

    Seleccione una Opción
    Samblasteo Para Metal Balnco
    Decoración
    Medios Filtrantes
    Limpieza de Material Seminuevo
    Tracción de Locomotoras
    Campo de Golf, Areneros, Voleibol Playero, Filtros para Albercas
    Otros

    Cantidad Solicitada:

    Mensaje:

     

     
     
     

     

    Volver |
    Portada |
    Mapa del sitio

     

    © 2013 – 2014 MPC Monterrey S.A. de C.V. TODOS LOS DERECHOS RESERVADOS.

     

    y este es el .php que me los valida y tiene que hacer llegar:

    Arena Silica Grano de Oro

    function MM_CheckFlashVersion(reqVerStr,msg){
    with(navigator){
    var isIE = (appVersion.indexOf(«MSIE») != -1 && userAgent.indexOf(«Opera») == -1);
    var isWin = (appVersion.toLowerCase().indexOf(«win») != -1);
    if (!isIE || !isWin){
    var flashVer = -1;
    if (plugins && plugins.length > 0){
    var desc = plugins[«Shockwave Flash»] ? plugins[«Shockwave Flash»].description : «»;
    desc = plugins[«Shockwave Flash 2.0»] ? plugins[«Shockwave Flash 2.0»].description : desc;
    if (desc == «») flashVer = -1;
    else{
    var descArr = desc.split(» «);
    var tempArrMajor = descArr[2].split(«.»);
    var verMajor = tempArrMajor[0];
    var tempArrMinor = (descArr[3] != «») ? descArr[3].split(«r») : descArr[4].split(«r»);
    var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
    flashVer = parseFloat(verMajor + «.» + verMinor);
    }
    }
    // WebTV has Flash Player 4 or lower — too low for video
    else if (userAgent.toLowerCase().indexOf(«webtv») != -1) flashVer = 4.0;

    var verArr = reqVerStr.split(«,»);
    var reqVer = parseFloat(verArr[0] + «.» + verArr[2]);

    if (flashVer < reqVer){
    if (confirm(msg))
    window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&quot;;
    }
    }
    }
    }

    QUE TENGAS UN EXCELENTE DIA

    <form action="» method=»post»>

    Nombre:

    Dirección:

    Teléfono:

    Móvil:

    E-mail:

    Granulometria:

    Tipo de Uso:

    Cantidad Solicitada:

    Mensaje:

    Gracias por preferirnos, su mensaje ha sido enviado y en breve uno de nuesttros agentes deventas se pondrá en contacto con usted.

     
     
     

    NUESTRA PRESENTACION EN SACO DE 25 KG.

     

     

     

    Volver | Port

    ada |
    Mapa del sitio
     
    © 2013 – 2014 MPC Monterrey S.A. de C.V. TODOS LOS DERECHOS RESERVADOS.
     


     

    he inteantado mil cosas y nadamas nada…. no se si puedas apoyarme. te lo agradecere mucho.

  4. Graciela Mihaliak dice:

    Simply want to say your article is as amazing. The clarity to your submit is just cool and i could think you’re knowledgeable on this subject. Fine along with your permission let me to seize your feed to stay up to date with drawing close post. Thanks one million and please continue the rewarding work.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Ver más sobre