Ho un modulo semplice che contiene alcuni campi obbligatori.Come verificare se l'attributo richiesto è impostato su un campo
<form name="form" method="post">
<pre>
<label> Name: </label><input type="text" name="name" required>
<label> Address: </label><input type="text" name="add" required>
<label>Telephone: </label><input type="text" name="tel">
<input type="submit" value="Submit Form">
</pre>
</form>
So che è possibile impostare l'attributo desiderato con document.forms['form']['name'].required = false
. Ma c'è un modo in cui è possibile controllare se l'attributo richiesto è impostato o no? Ho provato a utilizzare getattribute()
ma restituisce solo vuoto. Ho anche provato a utilizzare il codice seguente, ma esegue sempre l'istruzione, anche se l'attributo richiesto non è impostato (ad esempio nel campo telefonico).
if(document.forms['form']['name'].required = true)
label.innerHTML += " (required)"
Qualcuno sa di un senso che posso fare questo?
Aggiornamento: Sia l'impostazione del if per ==
invece di =
e l'utilizzo di lavoro hasAttribute, grazie.
Fai che un '==' 'in se()'. Oppure fare qualcosa come 'alert (" value: "+ document.forms ['form'] ['name']. Required);' e controlla quel valore. – sjngm
Forse non sto capendo, ma se 'getAttribute' restituisce o' null' o '" "', significa che l'attributo non esiste su quell'elemento, che è ciò che vuoi sapere. – ultranaut
Il tuo bisogno di fare un controllo, non l'assegnazione. Dovrebbe funzionare, cioè controllare per 'if (richiesto da document.forms ['form'] ['name'].)'. Qui si assegna invece di test a causa di '=' che restituirà sempre true. – PSL