Come faccio in PHP a creare un form che non necessita del click sul submit ma che al click sul select mi elabori le variabili proprio come alla pressione del button submit?
Grazie
Printable View
Come faccio in PHP a creare un form che non necessita del click sul submit ma che al click sul select mi elabori le variabili proprio come alla pressione del button submit?
Grazie
Potresti fare in questo modo:
Codice HTML:<select onChange="goThere(this.form);">
<option value="pagina.php">Pagina</option>
</select>
ancheanzichè "goThere" (che tra l'altro non conosco). Il codice deve essere nel form con quel nome.Codice HTML:NOME_FORM.submit()
Grazie..
Il metodofunziona.. Ma che linguaggio è?Codice HTML:NOME_FORM.submit()
Invecesebra non funzionare, almeno con firefox, oppure sono io che non riesco ad usarloCodice HTML:goThere(this.form)
Sono entrambi codici Javascript.
Silverseraph, si può sapere dove hai trovato quel codice? Cercando su Internet "goThere" ho trovato solo funzioni personalizzate con quel nome...
Purtroppo ho scoperto chefunziona solo con firefox.. Per ora mi arrangerò e con qualche trucco in PHP farò usareCodice:NOME_FORM.submit()
a Firefox e invece farò comparire il classico bottone in IE.Codice:NOME_FORM.submit()
Ma per ovviare a questi inconvenienti di compatibilità non c'è una qualche soluzione lato server in PHP per eliminare il tasto submit non solo su Firefox ma anche su IE??
<select onChange="submit()">
Funziona con tutto.
Ciao!
Perfetto, quello che mi serviva, semplice e funzionale..
Ma è sempre JS..
PHP non permette di fare la stessa cosa? Perchè magari in giro c'è ancora qualcuno che non supporta JS o lo disattiva..
Oppure mi consigliate di fregarmene di questi aspetti perchè non ne vale la pena?
Ti posso dire che in PHP è impossibile... l'unica cosa che è in grado di fare - da questo punto di vista - è stampare del codice HTML che sia IN SEGUITO visualizzato su un browser. A te invece serve intervenire una volta che questo codice HTML è stato DEL TUTTO caricato, cosa che si può fare solamente via script lato client (tradotto: JavaScript).Citazione:
Originalmente inviato da genta
Riguardo ai tuoi dubbi, posso dirti una cosa? Al giorno d'oggi gli unici browser rimasti a non supportare JavaScript sono solamente quelli testuali - usati praticamente da nessuno - e quelli speciali come quelli per non vedenti o non udenti. Per il resto, la stragrande maggioranza dell'utenza di Internet non sa nemmeno che esiste la possibilità di disabilitarlo (mi riferisco ad un'utenza decisamente più generica di quella che frequenta questo forum)...
Stammi bene...
Grazie delle dritte Dementialsite.. alla fine ho a che fare con il php da un po' di tempo ma non mi ero mai soffermato a pensare a quello che mi hai detto su questo linguaggio..e pensare che è una cosa banalissima che dovrebbe subito venire all'occhio..
Poi ho provato il codice consigliato da Debug ma pure quello sembra funzionare solo con firefox..
Mi sembrava strano che non funzionasse... !! Infatti è una baggianata che con IE non funzioni, io stesso ho creato uno script simile e ho IE.Citazione:
Originalmente inviato da genta
Forse è il codice che hai scritto, cmq ho creato una pagina di prova. Scrivi una frase e ti compare "Form inviato" e ciò che hai scritto. Se con IE non ti funziona è colpa del tuo browser, se invece con IE ti funziona è colpa del tuo codice...
Ti posso assicurare che funziona anche su IE.Citazione:
Originalmente inviato da genta
Se a te non funziona, posta la pagina che diamo una controllata.
Ciao!
Questo è il codice che funziona su firefox:
Questo l'ho aggiunto io per farlo funzionare anche in assenza di JS:Codice PHP:<?php
print("<div id=\"sel\">Seleziona:</div>"); }
$serie= array("tizio","caio","sempronio");
sort($nome);
array_unshift($nome, "SELEZIONA DALLA LISTA:");
print("<form method=\"POST\" onchange=\"submit();\" action=\"{$_SERVER['PHP_SELF']}\">\n");
print("<select class=\"scelta\">\n");
foreach ($nome as $c){
print("<option value=\"$c\" >".str_replace("_", " ", $c)."</option>\n");
}
?>
</select></form>
Questo l'ho aggiunto per IE perchè sembra non supportare onchange="submit();Codice HTML:<noscript>
<div style="float:left"><input name="vai" type="image" src="/immagini/ok.gif" alt="Vai!!!" title="vai!" /></div>
</noscript>
</form>Codice PHP:<?php
if (ereg("MSIE", $_SERVER['HTTP_USER_AGENT'])) {
echo "<div style=\"float:left\"><input name=\"vai\" type=\"image\" src=\"/immagini/ok.gif\" /></div>";
}
?>
L'onchange lo devi mettere nel select, non nel form.
perfetto, effettivamente quadra di più