Action e onchange

di il
7 risposte

Action e onchange

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

  • Re: Action e onchange

    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
  • Re: Action e onchange

    Troppo gentile!!!!!
  • Re: Action e onchange

    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.
  • Re: Action e onchange

    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>
    
  • Re: Action e onchange

    In teoria si,
    però se vedi la pagina funzionante,
    mi restituisce questo nell'url:
    http://www.neyx.com/?hotel=AA

    la pagina è
    www.neyx.com/111.htm
  • Re: Action e onchange

    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">
  • Re: Action e onchange

    Sono abbastanza ignorante...
    grazie!!!!!
Devi accedere o registrarti per scrivere nel forum
7 risposte