APUNTS PRÀCTICS HTML 4.0
En aquest capítol es tracten els següents elements:
Contingut del capítol:
Els formularis són fulls amb diverses opcions a on es pot introduïr o marcar text i enviar-lo automàticament al destinatari. Tant poden servir com per enviar comentaris d'un programa, fer comandes de productes, triar alguna opció, etc.
En un formulari hi ha diversos elements predefinits per a que l'usuari marqui o entri informació, com són: caixes de text, caixes d'àrea de text, botons de sel.lecció, botons de comprovació, caixes desplegables, botons d'esborrar constinguts i botons d'enviar formulari.
Un cop l'usuari ha emplenat el formulari i l'ha enviat, generalment es necessita en el servidor del que rep la informació, un programa que gestioni el formulari, l'analitzi, i el torni avaluat, validat o l'envii al destinatari de la informació de forma que la pugui llegir correctament.
A continuació es mostra un exemple d'un formulari, no operatiu, complert amb diferents
opcions.
El camp nom de la persona és un camp tipus caixa de text Text Box,
Característiques ordinadors són camps tipus Checkbox, Sexe és un camp tipus Radio
Button, País és un camp tipus caixa desplegable Pop-Up Box, Comentaris és un
camp tipus Text Area Box, el botó esborrar formulari i el botó enviar són camps
tipus Reset i Send buttons.
La primera cosa que s'ha d'especificar en la pàgina a on s'ubicarà el formulari, és que comença un formulari i especificar el que es vol fer amb la informació del formulari. La línia inicial és:
<FORM METHOD="POST" ACTION="mailto:cfi@cfi.es">
METHOD. El mètode d'enviar la informació pot ser POST o bé GET.
Amb l'opció POST. El formulari, un cop emplenat, a l'hora d'enviar-lo el text del formulari amb el seus camps, es converteixen en un arxiu, que, o bé arriva al servidor i amb algún programa el tracta, o bé arriva directament a l'usuari via e-mail per a la seva lectura o anàlisi. En el capítol 10 es mostra un exemple d'un formulari rebut via e-mail.
Amb l'opció GET. Molts documents HTML són visualitzats provinents d'alguna
consulta. Amb aquest mètode, tota la informació del formulari, a l'hora d'enviar-lo,
s'afegeix al final de l'adreça URL, i és el servidor, que amb algún programa la tracta
i en recupera el document apropiat.
Per exemple, si fem una consulta a Lycos sobre webs contenint la paraula "bergueda",
el formulari envia al servidor la següent adreça URL: http://www.lycos.com/cgi-bin/pursuit?cat=lycos&query=bergueda.
Un cop aquesta arriba, el servidor la tracta i torna a enviar a l'usuari els resultats
obtinguts.
ACTION. En quan a l'acció, li diem a on l'ha d'enviar, que pot ser a una
adreça e-mail o bé a una adreça http per a que el servidor analitzi el formulari, via
programa cgi, i en faci alguna cosa .
Si és una adreça e-mail: ACTION="mailto:cfi@cfi.es
Si és una adreça http: ACTION="http://www.eco.es/cgi-bin/formulari.pl"
A l'acabar tota la definició d'element d'un formulari, s'ha d'acabar tancant el
formulari,amb:
</FORM>
Un cop definit l'inici de formulari, ja podem posar a dins d'ell els elements que ens permetin entrar o marcar-hi informació. Cada element que es defineixi vindrà a ser un camp, com els de qualsevol base de dades.
TEXT BOX: És una caixa llarga d'entrada de text en 1 sola línia, i que pot
tenir un nom i una llargada predefinida. La sintaxi és:
<INPUT TYPE="TEXT" NAME="nom-del-camp"
SIZE="mida">
on a nom-del-camp hi anirà el nom intern, no el que apareix externament, que
volguem donar-li al camp, i a mida, la llargada del camp.
En l'exemple següent, el nom extern del camp és Cognoms i Nom:, el nom intern és
Nom1, i la mida de la caixa=20.
| <form method="POST"> <p>Cognoms i Nom: <input type="text" size="20" name="Nom1"></p> </form> |
Input Type=Text és l'opció per defecte, a on tots els caràcters són visibles.
També pot tenir valor de Password, que serveix per a que els usuaris puguin entrar
una paraula clau i que no sigui vista per la gent que l'envolta.
| <form method="POST"> <p>Clau d'accés: <input type="password" size="5" name="PSW"></p> </form> |
![]() |
TEXT AREA BOX: Un altre element són les caixes d'entrada de text d'entrada
múltiple. Aquesta és la diferència amb TEXT BOX, es pot entrar més d'una línia. La
sintaxi és:
<TEXTAREA NAME="nom-del-camp"
ROWS=número COLS=número></TEXTAREA>
on a nom-del-camp hi anirà el nom intern, no el que apareix externament, que
volguem donar-li al camp, a ROWS hi anirà el número de files que volguem que
ocupi la caixa, i a COLS hi anirà el número de columnes d'amplada de la caixa.
Cal fer notar que, a diferència del TEXT BOX, amb TEXT AREA BOX es requereix tancar el
tipus de caixa amb </TEXTAREA>.
En l'exemple següent, es defineix un Text Area Box de nom exterior Observacions, amb
nom interior de camp Obs, definint 3 files i 30 columnes.
| <form method="POST"> <p>Observacions: <textarea name="Obs" rows="3" cols="30"></textarea></p> </form> |
Les caixes de selecció són requadres de text similars als Text Box, però amb un
botó lateral que permet seleccionar un element d'una llista. La sintaxi és:
<SELECT NAME="nom-del-camp" SIZE="mida">
<OPTION>opció, ...
<OPTION SELECTED>opció-seleccionada
</SELECT>
A on nom-del-camp és el nom del camp d'ús intern, la mida és el gruix de la caixa, per
defecte=1, a OPTION hi anirà cada opció que es vulgui fer veure per a ser seleccionada,
i a OPTION SELECTED hi anirà l'opció seleccionada d'entrada, i que es pot canviar
posteriorment. S'ha d'informar de l'acabament de la definició del pop-up box amb
</SELECT>
En l'exemple següent, el POP-UP-BOX té per nom intern selec1, de nom extern és
Seleccioni un color, hi va varis colors entrats, com poden ser el groc, vermell, blanc,
negre, taronja i blau. L'opció seleccionada per defecte és el color violeta.
| <form method="POST"><p>Seleccioni
un color:<select name="selec1"size="1"> <option>Groc</option> <option>Vermell</option> <option>Blanc</option> <option>Negre</option> <option>Taronja</option> <option selected>Violeta</option> <option>Blau</option> </select></p> </form> |
Amb aquest tipus de camp també es poden fer múltiples seleccions amb l'opció
MULTIPLE. La sintaxi és:
<SELECT NAME="nom-del-camp" MULTIPLE SIZE="mida">
<OPTION>opció, ...
<OPTION SELECTED>opció-seleccionada
</SELECT>
Això farà que de la llista mostrada, poguem seleccionar més d'un. Amb la tecla Control
pitjada (Ctrl) es poden seleccionar elements separats entre ells, i amb la tecla
Majúscules es poden seleccionar elements que estan junts.
Els radio buttons serveixen per a seleccionar un cosa, d'un grup d'opcions. La seva
característica és que en cada grup d'opcions, només es pot seleccionar 1 element. La
seva sintaxi és:
<INPUT TYPE="RADIO" NAME="nom-del-camp"
VALUE="valor-del-camp"
A Input Type es defineix amb l'opció RADIO per als radio buttons, a nom-del-camp hi
anirà el nom intern del camp, si és l'opció seleccionada per defecte la sintaxi seria
CHECKED NAME, i a Value hi va el valor intern d'aquell camp que s'enviarà.
En l'exemple següent es defineix un Radio Button amb 3 opcions, demanant l'edat, la
primera opció és de 16 a 20 anys, la segona opció i seleccionada per defecte, de 21 a
28 anys i la tercera opció de 29 a 36 anys. Els radio buttons només permeten 1
selecció.
| <form method="POST"> <p>Edat: de 16 a 20:<input type="radio" name="boto1"value="16a20"> de 21 a 28:<input type="radio" checkedname="boto2" value="21a28"> de 29 a 36:<input type="radio"name="boto3" value="29a36"> </p> </form> |
De forma similar als radio buttons, els Checkbox serveixen per a seleccionar elements,
però amb una diferència, permeten més d'una selecció. La seva sintaxi és:
<INPUT TYPE="CHECKBOX" NAME="nom-del-camp"
VALUE="valor-del-camp"
A on a INPUT TYPE es defineix com a checkbox, a nom hi va el nom intern del camp i a
valor, el valor intern que s'enviarà.
En l'exemple següent es defineix un Checkbox amb 4 elements, demanant les
característiques de l'ordinador de l'usuari, la primera opció i la seleccionada per
defecte és si té Windows'95, el nom d'aquest camp és C1 i el valor que s'enviarà si
està activada és w95, la segona si té unitat CD-ROM, la tercera si té targeta de só i
la quarta si té micròfon.
| <form method="POST"> <p>Característiques de l'ordinador personal:</p> <p>Windows 95:<input type="checkbox" checked name="C1"value="w95"> CD-ROM:<input type="checkbox" name="C2"value="CD"> Targeta de só:<input type="checkbox" name="C3"value="SO"> Micròfon:<input type="checkbox" name="C4"value="MIC"></p> </form> |
La diferent sol.licitud d'informació la podem agrupar per grups temàtics. Aquesta agrupació permet que sigui més fàcil d'entendre pels usuaris el seu propòsit, facilita la navegació.
El següent exemple mostra un grup d'opcions agrupades amb un títol genèric: "Característiques de l'ordinador personal: ", però aquest títol no està integrat en el grup d'opcions, és un text normal, i a sota, les opcions..
|
Fent servir l'element FIELDSET, permet agrupar per agrupacions d'opcions per grups temàtics, i se li pot donar un valor o text, amb l'element LEGEND.
|
Donant el següent resultat:
També es pot presentar l'opció de voler mostrar diferents valors, però que internament en tenen un de sol. Amb l'element OPTGROUP es permet definir els diferents valors a mostrar i el valor únic que tenen.
Amb l'exemple següent es mostren una serie de pobles, que l'usuari n'ha d'escollir un. Però el que volem no és el poble, en sí, sinó la comarca a la que pertany.
| <FORM method="post"> <P> <SELECT name="Comarca:"> <OPTGROUP label="Berguedà"> <OPTION label="b1" value="Avià">Avià <OPTION label="b2" value="Puig-Reig">Puig-Reig <OPTION label="b3" value="Berga">Berga </OPTGROUP> <OPTGROUP label="Osona"> <OPTION label="o1" value="Vic">Vic <OPTION label="o2" value="Les Masies de Voltregà">Les Masies de Voltregà </OPTGROUP> <OPTGROUP label="Solsonès"> <OPTION label="s1" value="Pinós">Pinós <OPTION label="s2" value="Guixers">Guixers <OPTION label="s3" value="Solsona">Solsona </OPTGROUP> </SELECT> </FORM> |
Un cop el formulari s'ha emplenat, ha arrivat l'hora d'enviar-lo al destinatari. Això
s'aconsegueix al el botó d'enviar. La sintaxi és la següent:
<INPUT TYPE="SUBMIT" NAME="nom-del-camp"
VALUE="text-botó"
A on a Input Type es defineix amb SUBMIT per a definir un botó d'enviar, a Name hi va el
nom intern del camp, i a VALUE el text que apareix externament al botó.
El botó enviar enviarà els camps i el contingut dels camps a l'adreça URL definida a
l'inici del formulari: <FORM METHOD="POST" ACTION="adreça">
El l'exemple següent, es defineix el botó d'enviar amb el valor "Enviar
Formulari"
| <form method="POST"> <p><input type="submit" name="B1" value="Enviar formulari"></p> </form> |
El botó enviar també es pot substituïr per una imatge, fent la mateixa funció
d'enviar. La sintaxi és: <INPUT TYPE="IMAGE" NAME="nom-intern"
SCR="adreça-lloc de la imatge"
D'aquesta forma substituim el botó amb un text per una imatge.
| <form method="POST"> <p><input type="image" name="I1" src="env.gif" align="bottom"border="0" width="142" height="53"></p> </form> |
Una altra forma per a enviar informació d'un formulari és amb l'element BUTTON
|
amb el següent resultat:
També pot passar que un cop emplenat el formulari, s'hagi de tornar a emplenar per
algú altre, o per una altra comanda, etc. El botó esborrar, esborra automàticament el
contingut de tots els camps del formulari. La seintaxi és la següent:
<INPUT TYPE="RESET" NAME="nom-del-camp"
VALUE="text-botó"
A on a Input Type es defineix com a RESET per a definir un botó de neteja de camps de
formulari, a Name hi va el nom intern del camp, i a Value hi va el text que apareixerà al
botó.
En l'exemple següent es defineix un botó reset amb Value=Netejar formulari.
| <form method="POST"> <p><input type="reset" name="B1" value="Netejar formulari"></p> </form> |
Una altra forma per a netejar informació d'un formulari és amb l'element BUTTON
|
A continuació apareix la descripció del formulari d'exemple de l'inici d'aquest
capítol, amb tots els elements. El codi del formulari es pot ubicar a qualsevol lloc del
cos de la pàgina Web, podent tenir més d'un formulari per pàgina.
| <form method="POST"> <p><strong>Nom de la persona: <input type="text" size="20"name="T1"> </strong></p> <p><strong>Característiques ordinador: Pentium: <input type="checkbox" name="C1"> CD-ROM:<input type="checkbox"name="C2"> Targeta de só:<input type="checkbox" name="C3"> Impresora:<input type="checkbox" name="C4"></strong></p> <p><strong>Sexe: Home<input type="radio" checked name="R1"value="V1"> <input type="radio" name="R1" value="V2"> País d'origen: <select name="España" size="1"> <option>España</option> <option>Andorra</option> <option>França</option> <option selected>Itàlia</option> </select></strong></p> <p><strong>Comentaris<textarea name="S1" rows="3" cols="32"></textarea> <input type="reset" name="B1" value="Esborrar"> <inputtype="submit" name="B2" value="Enviar"></strong></p> </form> |
Aquesta mostra és d'un formulari fet amb l'opció POST i amb ACTION=a una adreça
e-mail. Un cop rebut, caldria tenir un programa que mostrés de forma òptima el seu
contingut.
El formulari conté un camp tipus text de nom "nom" per als cognoms i
nom, i un camp tipus radio de nom "edat", per a l'edat de l'usuari, de 18
a 22 anys o de 23 a 36 anys. (l'opció que s'envia és la segona, de 23 a 36 anys).
| <form action="mailto:joanlluc@berganet.es" method="POST"> <p>Cognoms i Nom: <input type="text" size="20" name="nom"></p> <p>Edat:de 18 a 22 anys:<input type="radio" checked name="edat" value="18a22"> de 23 a 36 anys:<input type="radio" name="edat" value="23a36"></p> <p><input type="submit" name="B1" value="Enviar"></p> </form> |
| La informació del formulari rebut, és un arxiu amb el següent contingut: | ![]() |
| nom=Oliveras+Melcior&edat=23a36&B1=Enviar |
| © Melcior Oliveras 1998 melcior@intercom.es | |||||