FORM: a cosa serve l'ID?

megarospo

Utente Attivo
25 Set 2007
147
0
0
Scusate la domanda che forse è sciocca, ma non riesco a capire e a trovare un testo che mi spieghi a cosa serve il campo "id" dentro al tag FORM.

Esempio:
<div id="form">
<div id="modulo"><form id="contact" method="post" action= action="invio.php"> sostituisce il name?

<label for="email"></label>
<div class="input-cont"><input type="text" id="email" name="email"></div> sostituisce il value?

<label for="nome"></label>
<div class="input-cont"><input type="text" id="nome" name="nome" size="20"></div>

<label for="message"></label>
<div class="input-cont"><input type="text" id="object" name="object"></div>..... ecc.

Se è come ho scritto posso impostare un campo così?
<input type="submit" id="esegui_il_comando" name="posta"> value="invia ora"</input>
così che sul pulsante appaia "invia ora", che lo stesso si chiami "invia" e che trasmetta il valore "esegui_il_comando"?
Funziona così?
 
Gli ID sono identificatori univoci che vengono usati esclusivamente dal CSS e dal Javascript per identificare un elemento all'interno di una pagina HTML, per fare quello che vuoi tu puoi fare così:
HTML:
<input type="submit" value="esegui_il_comando" name="posta" />
Le tue idee sono un po' confuse, studiati una buona guida all'XHTML.
 
Sempre il solito cattivone Alessandro :D
Pero' ha ragione, non so se l'hai creato tu quel form @megarospo, allora visto il tuo stato sei scusato :) ma se l'hai trovato in rete lascia stare, quel form in parte funziona ma e' una schifezza riguardo alla semantica del linguaggio, inoltre e' inutilmente complesso.
L'ultima parte, quella col tasto di input e' errata
Codice:
<input type="submit" id="vaivia" name="vaivia" value="invia i dati" />
value va dentro il campo input in quanto e' un suo attributo.
Infine gli attributi ID servono appunto per identificare una sezione del codice, non servono ai fogli di stile anche se sono usati in essi per modificare l'aspetto visuale, e non sono parte del javascript ma servono ad esso per identificare parte del codice su cui poi operare.
ID identifica una parte del codice ed e' parte integrante del DOM (Documento Object Model), ovvero l'albero di tutto il codice che hai scritto nel tuo foglio html.
Da quando hanno inventato lo xhtml, questo non e' solo un nuovo modo di scrivere pagine, ma e' proprio un vero modello di oggetti XML, ogni oggetto che corrisponde ad ogni elemento del linguaggio e' identificabile attraverso due modalita' nome dell'elemento e ID se settato.
In teoria puoi settare un ID per ogni elemento, ma in pratica non si fa e si setta solo dove serve, per esempio per mandare ad un punto del testo nella pagina
Codice:
<a href="#pippo">vai qui</a> ... <p id="pippo">testo vario</p>
cliccando su vai qui ti porta all'interno del paragrafo identificato con pippo.
Ed e' solo un esempio fra tanti.

PS ma chi ha inventato le tastiere americane?
 
Interessante, non sapevo che i link ad ancore si potessero fare anche con gli ID. Io continuavo a farlo con <a name=""></a>. Comunque non ho detto che gli ID sono parte di Javascript o CSS, ma che vengono usati da questi due linguaggi :D
 
Si. il codice l'ho copiato in rete al solo scopo di riportare velocemente un codice form dove ci fosse l'ID. E sempre per fare una cosa veloce non mi sono accorto di aver scritto fuori posto il value.
A quanto mi dite quindi non c'è modo (con il solo html)di avere 2 pulsanti con lo stesso name, la stessa value e ottenere la trasmissione di 2 valori diversi.
Grazie mille per il vostro aiuto. E' stato comunque prezioso!
 
Quella parte del discorso non l'avevo letta scusa.
Certo che puoi farlo, ma non capisco perché devi farlo con due pulsanti, o meglio non ho proprio capito che devi fare :)
Value è l'unica informazione che passi e quindi è ovvio che se fai due pulsanti con lo stesso valore trasmetti pur sempre un solo valore (uno è uguale a uno dopotutto) ma l'attributo name puoi usarlo come un array, è normale farlo con i campi radiobutton ad esempio, basta avere l'accortezza di nominarli così:
Codice:
<input type="radio" name="radio[]" .../><input type="radio" name="radio[]" .. />
Poi con un linguaggio di programmazione puoi prendere il valore passato ad ogni campo con un semplice ciclo for.
Quello che non ho compreso da parte tua è questo passo: "così che sul pulsante appaia "invia ora", che lo stesso si chiami "invia" e che trasmetta il valore "esegui_il_comando"?" Anzi, non ho proprio capito perché debba passare quel valore.
Un bottone non deve passare informazione, per quella ci sono gli altri campi, un bottone serve a trasmettere un comando e nient'altro, è questione di semantica :)
 
Si scusa. Sono io che non mi sono spiegato completamente.
Il mio problema era dettato dal fatto che ho creato un file php che genera form diversi a seconda delle azioni dell'utente e poi ricarica il medesimo file che mostra i risultati richiesti dall'utente. Quindi mi sono trovato tre form diversi e su ognuno viene visualizzato un pulsante "seleziona tutto". L'operazione di "seleziona tutto" però si riferisce a tre operazioni diverse. A seconda del form che in quel momento viene visualizzato.
Ho risolto con dei campi hidden. :p
Ciao e grazie ancora!! :byebye:
 

Discussioni simili