J'ai ce formulaire avec un SELECT:
P>
function validation() { var type = document.form.type.value; if (type == "") { return false; } return true; }
4 Réponses :
Vous devez ajouter l'appel à la fonction de validation à l'événement de soumission du formulaire lui-même - pas directement sur le bouton. L'exemple ci-dessous ouvrira une boîte de dialogue d'alerte si ni l'étudiant ni la standard ne sont sélectionnés.
p>
<form name="form" method="post" action="registr.php" onsubmit="return validation();"> <select name="type"> <option value="std">Standard</option> <option value="stud">Student</option> <option selected hidden value=""></option> </select> <input type="submit" value="Invia"> </form>
Il suffit d'appeler la méthode de validation dans le formulaire Tag OnSubmit, car si le formulaire devient faux, il ne sera pas soumis autrement, il sera soumis.
<form name="form" method="post" onsubmit="return validation();" action="registr.php"> <select name="type"> <option value="std">Standard</option> <option value="stud">Student</option> <option selected hidden value=""></option> </select> <input type="submit" value="Invia"> </form>
Il semble que vous accédez à tort le champ Select. Essayez ceci
p>
var type = document.forms[0].elements.type.value;
Votre script fonctionne, vous pouvez également essayer d'ajouter un p> ID code> à votre option de sélection:
<form name="form" method="post" action="registr.php">
<select name="type" id="selecttype">
<option value="std">Standard</option>
<option value="stud">Student</option>
<option selected hidden value=""></option>
</select>
<input type="submit" value="Invia" onclick="return validation();">
</form>
Le script fonctionne et ne renvoie que TRUE lorsque l'un de ceux-ci est sélectionné (testé en chrome).
Pour un navigateur plus croisé (et un moyen sûr / moderne) d'accéder à l'élément, n'utilisez pas
type code> comme nom de variable et y combiné avec
QuerySelector code>, par exemple.
var val = document.Quiseryselector ('Select'). Valeur code>