Je dois créer un formulaire et vérifier que des données y ont été saisies (pas nécessairement des données précises) avant de soumettre le formulaire. J'ai été capable de le faire avec des messages séparés pour chaque champ, mais je dois pouvoir le faire pour que tous les champs manquants s'affichent dans un seul message d'erreur (IE "Il vous manque le nom et l'adresse et ...") . Quelqu'un peut-il m'aider s'il vous plaît. Merci d'avance pour vos commentaires.Test de données de formulaire et renvoi d'un seul message d'erreur (Javascript)
<FORM onSubmit='return checkForm()' NAME='customerform'>
<TABLE WIDTH=100% BORDER=1>
<TR><TD>First Name: <INPUT TYPE='TEXT' NAME='firstname'></TD>
<TD ALIGN=RIGHT> Last Name: <INPUT TYPE='TEXT' NAME='lastname'></TD></TR>
<TR><TD COLSPAN=2>Address: <INPUT TYPE='TEXT' NAME='address' size =50></TD></TR>
<TR><TD>City: <INPUT TYPE='TEXT' NAME='city'></TD>
<TD ALIGN=RIGHT>State: <INPUT TYPE='TEXT' NAME='state' size=3> Zip: <INPUT TYPE='TEXT' NAME='zip' size=6></TD>
<TR><TD COLSPAN=2>Email Address: <INPUT TYPE='TEXT' NAME='emailaddr' size=50></TD></TR>
<TR><TD><INPUT TYPE='submit' value='Submit'></TD>
<TD ALIGN=RIGHT><INPUT TYPE='reset'></TD></TR>
</TABLE></FORM>
function checkForm()
{
var data = document.customerform.firstname.value
if (data.length <= 0) {
alert("Please enter your first name, it is required for us to process your order.")
return false
}
data = document.customerform.lastname.value
if (data.length <= 0) {
alert("Please enter your last name, it is required for us to process your order.")
return false
}
data = document.customerform.address.value
if (data.length <= 0) {
alert("Please enter your address, it is required for us to process your order.")
return false
}
data = document.customerform.city.value
if (data.length <= 0) {
alert("Please enter your city name, it is required for us to process your order.")
return false
}
data = document.customerform.state.value
if (data.length <= 0) {
alert("Please enter your state name, it is required for us to process your order.")
return false
}
data = document.customerform.zip.value
if (data.length <= 0) {
alert("Please enter your zip code, it is required for us to process your order.")
return false
}
data = document.customerform.emailaddr.value
if (data.length <= 0) {
alert("Please enter your email, it is required for us to process your order.")
return false
}
}
Je commencerais en utilisant HTML valide qui est conforme aux normes et aux meilleures pratiques de cette décennie. Sérieusement, ce code ressemble à la sortie de Microsoft FrontPage 98. N'utilisez pas de tableaux pour la mise en page, n'utilisez pas les attributs HTML pour le style (CSS pour le style), n'utilisez pas les gestionnaires d'événements inline (onsubmit). Au lieu de cela, mettez tout votre JavaScript dans des conteneurs JavaScript séparés et reformatez votre code pour plus de lisibilité. –