maxsupermax <buono_nel_dna (AT) yahoo (DOT) it> wrote:
Quote:
Si, approfitto, grazie...
uno stralcio del codice: |
Già quello di prima era comunque sufficiente.
Quote:
select name="tabella" class="inputselect" size="15" style="width:170px;"
title="Elenco Tipi Fissaggio" onmouseup="bbb()"
[..]
dove il richiamo a bbb() dovrebbe farmi inviare il form con il campo
"comando" impostato a "Modifica" come cioe' fosse premuto il corrispondente
pulsante submit: |
Mhm... perché hai usato l'evento onmouseup? E se uno seleziona tramite
tastiera il valore della select?
Quote:
input type="submit" class="butt" name="comando" value="Modifica"/><br
input type="submit" class="butt" name="comando" value="Inserisce"/><br
input type="submit" class="butt" name="comando" value="Elimina"/ |
Usi la chiusura dei tag aperti di XHTML per gli input ma non per i br;
è un po' incoerente. Adotta la stessa sintassi per tutti, quindi:
<br />
Invece di:
<br>
O meglio ancora, imposta il display dei pulsanti su "block", così puoi
eliminare i "br" alla fine (tramite CSS, ovviamente).
Quote:
cosa dovrei eseguire in bbb()????? |
Come ti ho scritto, ci sono diversi modi. Puoi centralizzare le azioni
da eseguire in un campo hidden e impostare il valore di quello; oppure
come dici tu usare il metodo "click" sul pulsante che vuoi inviare.
Quote:
ho provato cosi':
function bbb() {
document.comando.value="Modifica";
document.forms['fissaggio'].submit();
} |
Ti ho già detto che "comando" lato client è un array... e mi sa che ti
sei perso un po' di pezzi per strada (document.comando? E la form?).
Quote:
ma non arriva nessun campo "comando"... |
Questo per il motivo sopra descritto.
Quote:
esiste qualcosa di simile a:
forms["fissaggio"].elements['comando'].click(); ??? |
Questo, ma ti devi ricordare che sei in presenza di un array.

Sul client, quando dai lo stesso "name" a un elemento form, ottieni un
array di elementi. Tu hai tre input chiamati "comando": in che modo tu
potresti riferirti a uno specifico elemento, tra quei tre? Metti caso,
per disabilitare il pulsante di Modifica.
Di certo, NON potresti fare come sempre, ovvero:
document.forms["fissaggio"].commando.disabled = true;
Perché anche il pulsante "Inserisci" e "Elimina" si chiamano così. Per
questo motivo il browser ti genera un array. Infatti se fai:
alert( document.forms["fissaggio"].comando.length )
Otterrai "3", che è il numero di controlli aventi tale name. Quindi se
vuoi riferirti al pulsante di modifica, che è il primo, dovrai fare:
document.forms["fissaggio"].comando[0].click();
In questo modo è come se tu avessi premuto il primo pulsante. Bada, se
però l'ordine dei pulsanti viene in qualche modo alterato, non hai più
la certezza che sia proprio quello di Modifica ad essere cliccato. Per
questo motivo, sarebbe bene tu usassi l'ID, che in quanto univoco, non
ti lega ad alcun ordinamento:
<input type="submit" name="comando" id="btn-modifica"
value="Modifica"/>
<input type="submit" name="comando" id="btn-inserisci"
value="Inserisce"/>
<input type="submit" name="comando" id="btn-elimina" value="Elimina"/>
E da JS, avresti:
document.getElementById("btn-modifica").click();
Per dover di cronaca, questo approccio è meno retrocompatibile: se hai
bisogno di supportare browser quali Netscape 4 o IE 4, non va bene. Ma
ormai è abbastanza raro che si tengano in considerazione in Javascript
dei browser che non hanno almeno il supporto per il getElementById.

C'è da dire che anche il metodo "click" non è usato nei browser troppo
vecchi, quindi in tal caso dovresti optare per un campo hidden.
De nada.
--
"Se c'è qualcosa di più importante del mio ego su questa nave,
la voglio catturata e fucilata."