Newsgroup: it.comp.www.php
Titolo: [un po' OT] button per submit ie vs ff e valore su php

Salve a tutti,
ho un form dal quale ho la necessita' di fare il submit sia da una select 
option (con un js che fa un this.form.submit) sia da un pulsante... 
praticamente dalla option si fanno operazioni sui record selezionati, mentre 
con il button si crea un nuovo record:
<select name="lstAction"  onchange="javascript:if (this.selectedIndex > 0) 
this.form.submit();">
        <option value="">Altre azioni...</option>
        <option value="MulDelete">Cancella</option>
        <option value="MulPrint">Stampa</option>
</select>
Per gestire il pulsante ho il seguente codice:
<button type="submit" name="btnAction" 
value="New"><strong>Nuovo</strong></button>
e da php controllo se $_REQUEST["btnAction"] e' valorizzato o meno... e qui 
mi nasce il problema!
Io mi aspetto che se premuto, $_REQUEST["btnAction"] valga "New", come 
infatti avviene da firefox, mentre con ie questo vale "Nuovo"!!!
si tratta di un bug di ie, e quindi metto un else nel codice, oppure sto 
eseguendo io un'operazione non consentita per la quale il risultato puo' 
essere ambiguo? Purtroppo non ho trovo altra soluzione per gestire il 
pulsante ma credo che questa sia formalmente corretta... sbaglio?
grazie a tutti
dade 

 pulsante ma credo che questa sia formalmente corretta... sbaglio?
Se n'è parlato qualche tempo fa su questa questione
IMHO risolvi l'eventuali ambiguità non usando
<button>
 ma
<input type="submit" value="New" name="Nuovo" style="..." class="..." />

 <input type="submit" value="New" name="Nuovo" style="..." class="..." />
ho provato ma cosi' facendo il value, oltre ad essere il valore passato a 
php e' anche il testo del button... preferirei poter scrivere un testo 
diverso nel button...
ciao e grazie 1000

 ciao e grazie 1000
prego, anche se non sono sicuro di esserti stato d'aiuto

 prego, anche se non sono sicuro di esserti stato d'aiuto
certo che lo sei stato! non mi piaceva proprio mettere quell'else...
Ciao
dade 

 value="New"><strong>Nuovo</strong></button>
Potresti pensare di gestire la cosa inserendo un campo hidden di cui
modifichi il valore in base al pulsante premuto (per gestire gli
eventi con una sola pagina PHP), es.
<form name="modulo">
<input type="hidden" name="campo_nascosto" value="0">
<input type="submit" name="btnAction" value="Nuovo"
onclick="document.modulo.campo_nascosto.value=1;">
</form>
Ciao,
    Fabrizio
=== 
http://www.negusweb.it
 ===

 e' accettato... cosi' sarebbe molto piu' pulito :P
Mmmm, continua a non capire, cmq non ne sono sicuro e qui lo dico e qui lo
nego, ma potrebbero essereci dei browser che trovando value ="" mettano il
valore contenuto in <option> così come se non ci fosse value... quindi per
sicurezza metterei un valore che poi gestirai opportunamente...
Ahh, chiaramente non affidarti al solo JavaScript per l'invio e la gestione
dei dati, fai sempre tutti i controcontrolli lato server, se ti sta a cuore
la sicurezza prima fai il tuo codice solo in html e php poi quando è sicuro
inserisci i vari controlli JS che devono servire SOLO per evitarti
richieste inutili al server ma non per PROTEZIONE o GESTIONE dei dati
ricevuti!