Éléments de formulaire
Du HTML au HTML5, les éléments liés au formulaire ont été considérablement étendus et peuvent essentiellement répondre à nos besoins communs. Mais dans le travail réel, En raison des exigences d'interaction ou de compatibilité du navigateur, les éléments de formulaire natifs doivent parfois être étendus ou simulés. Mais avant cela, il est encore important de bien comprendre et maîtriser les différents éléments du formulaire. Dans cet article, Nous expliquerons en détail les éléments de formulaire (éléments de formulaire HTML5 par défaut).
formulaire
greep Le formulaire gérera automatiquement l'événement de soumission (l'événement de soumission est généralement déclenché par l'élément d'entrée ou de bouton de type=submit)
●Le formulaire effectuera automatiquement une couche de vérification et utilisera form.novalidate pour activer hors de la validation native
QuantityForm obtiendra l'entrée utilisateur correspondante en fonction du nom de chaque élément du formulaire, puis ajoutera les données du formulaire sous forme de chaîne de requête à la fin de l'URL correspondant à l'attribut d'action . La méthode de requête par défaut est GET et l'action par défaut est l'URL actuelle.
Quantityevent.target.elements renverra tous les éléments interactifs
<form novalidate> <input name='username' required/> <input name='passworkd' type='password' required/> <input name='email' type='email'/> <input type='submit' value='submit'/> </form>
En exécutant le code ci-dessus, vous pouvez voir qu'après avoir soumis le formulaire, le navigateur L'adresse sera ajouter une chaîne de requête comme celle-ci?username=tom&passworkd=123&email=test@gmail.com
Éléments interactifs
Besoin d'interagir avec l'utilisateur et d'obtenir Nous classons ce type d'éléments de formulaire saisis par les utilisateurs en tant qu'éléments de formulaire interactifs.
Certains sont répertoriés ci-dessous :
Quantityinput : les types couramment utilisés incluent la case à cocher, le numéro de téléphone, l'e-mail, etc.
Quantityoption
Éléments de feedbackÉléments de formulaire qui renvoient simplement des informations et ne nécessitent pas d'interaction avec l'utilisateur, nous les classons comme formulaire de feedback élément. En voici quelques-uns :
Quantitymeter
Quantityoutput
Pour la sortie, vous pouvez définir la valeur calculée dans form.oninput<form oninput="result.value=parseInt(a.value)+parseInt(b.value)"> <input type='number' value='50' name='a' /> <input type='number' value='10' name='b' /> <output name='result'>60</output> </form>
Ce type d'élément de formulaire est utilisé pour regrouper plusieurs éléments de formulaire Nous les classons comme éléments de formulaire groupés. Certains sont répertoriés ci-dessous :
Quantityfieldset
Quantityoptgroup
label
<form> <select> <optgroup label='group1'> <option>1</option> <option>2</option> <option>3</option> </optgroup> <optgroup label='group2'> <option>4</option> <option>5</option> <option>6</option> </optgroup> <optgroup label='group3'> <option>7</option> <option>8</option> <option>9</optioin> </optgroup> </select> </form>
● Utiliser pour pour se connecter à l'élément interactif correspondant associé à l'identifiant ● Peut être utilisé pour envelopper des éléments interactifs, y compris plusieurs, pour contrôler le premier
● Il n'est pas recommandé d'imbriquer les étiquettes
<form> <fieldset> <legend>Title</legend> <label for='radio'>Click me</label> <input type='radio' id='radio'/> </fieldset> </form>
<form> <fieldset> <legend>用户信息</legend> <label> 男 <input type='radio' name='gender' id='male' /> </label> <label> 女 <input type='radio' name='gender' id='female'/> </label> </fieldset> </form>
Abstraction du champLa structure la plus basique :
QuantityLa chaîne[] de valeur est généralement utilisée, divisée et synthétisée en une chaîne
field: { name: String, value: String || String[] }
const fromKeyValues = { 'user.name': 'Tom', 'user.phone[0].number': '123456', 'user.phone[0].type': 'mobile' }; const fromValues = { user: { name: 'Tom', phone: [ { number: '123456', type: 'mobile' } ] } };
● Événement de soumission par défaut du formulaire de blocage ● la case à cocher doit être cochée au lieu de la valeur
● select-multiple doit stocker plusieurs valeurs
● À l'exception des éléments interactifs spéciaux ci-dessus, les autres prennent leurs valeurs à partir de la valeur par défaut
form.html
form.js
<form> <fieldset> <legend>Login</legend> <input name='username' placeholder='username' minlength='2'/> <input name='password' type='password' placeholder='password'/> <label> remember password <input name='checkbox' type='checkbox'/> </label> </fieldset> <fieldset> <p class="gender"> <legend>More Info</legend> <label> 男 <input name='gender' type='radio' value='male' /> </label> <label> 女 <input name='gender' type='radio' value='female' /> </label> </p> <select name='select' multiple> <option>1</option> <optgroup label='2'> <option>2.1</option> <option>2.2</option> </optgroup> </select> </fieldset> <button type='submit'>Submit</button></form>