Action e onchange

di Anonimizzato23226 il
7 risposte
Ciao a tutti..
ho un problema che può sembrare banalissimo ma non per me..
vorrei passare due differenti action in base alla selezione del select.
Ho pensato di risolverla così ma evidentemente non funziona..

potete darmi una dritta?

grazie mille

<html>
<head>
<meta charset="UTF-8">
<title>test</title>
<script type="text/javascript" >
function redirect(sel){
if (sel.value == 'BBB') {
window.open('http://www.aaa.com');
}else{
window.open('http://www.bbb.com');
}}
</script>
</head>
<body>
<form action="" method="get" name="myform" id="myform" target="_blank" onchange="redirect(this)">
<select id="hotel" name="hotel">
<option value="">Tutti gli alberghi</option>
    <option id="opzione_xx" value="AAA">AAA</option>
    <option id="opzione_yy" value="BBB">BB</option>
    <option id="opzione_zz" value="CCC">CC</option>
</select>
<input id="button" type="submit"  value="Prenota" >  </form>
</body>
</html>

7 Risposte

  • Devi impostare la action del form nella funzione redirect() al posto della chiamata window.open().
    
    function redirect(sel)
    {
    	if (sel.value == 'BBB') {
    		form.action = 'http://www.aaa.com';
    	} else {
    		form.action = 'http://www.bbb.com';
    	}
    }
    
    Ti ho creato un Fiddle funzionante:

    Ciao
  • Troppo gentile!!!!!
  • Eppure non mi funziona..
    nel senso.. vorrei che se la selezione fosse BBB allora ami rimandasse direttamente al sito www.bbb.co senza passante nessun parametro.
    è possibile?
    perché ho visto che così non mi apre nulla.
  • Se ho ben capito intendi questo:
    
    <html>
    <head>
    <meta charset="UTF-8">
    <title>test</title>
    </head>
    <body>
    
    <form action="../">
    <select id="hotel" name="hotel" onchange="window.open('http://www.'+this.options[this.selectedIndex].value + '.com','_top')">
    <option value="">Tutti gli alberghi</option>
        <option id="opzione_xx" value="AAA">AAA</option>
        <option id="opzione_yy" value="BBB">BB</option>
        <option id="opzione_zz" value="CCC">CC</option>
    </select>
    <input id="button" type="submit"  value="Prenota" >  </form>
    </body>
    </html>
    
  • L'url http://www.neyx.com/?hotel=AA viene richiamata a seguito della pressione del tasto "Prenota" la quale esegue il submit del form utilizzando il metodo GET per il passaggio del valore parametro 'hotel' della select.

    Se non vuoi che il parametro appaia nell'url devi utilizzare il metodo POST.

    Per farlo devi sostituire la riga
    
    <form action="../">
    
    con
    <form action="../" method="POST">
  • Sono abbastanza ignorante...
    grazie!!!!!
Devi accedere o registrarti per scrivere nel forum
7 risposte