2009-09-24 12 views
0

J'ai une page JSP où je charge une liste qui a la liste des champs à afficher. Si arrayList n'a rien, je ne chargerai aucune boîte d'entrée sinon créer autant de boîtes d'entrée qu'il y a de arraylist qui est fait correctement.Je garde un nom field1, field2, field3 ... fieldn où n est la taille du tableau.Now Quand je soumets mon formulaire, je devrais vérifier si la valeur de ces champs ne sont pas vides ou nulles et doivent alerter l'utilisateur que si les champs sont vides. Je ne peux utiliser que js et pas de RIA ou AJAX.Aide HTML/JSP/JAVASCRIPT

Quelqu'un peut-il m'aider dans ce problème?

Répondre

0

Vous pouvez donner à chaque champ d'entrée d'un ID lors de leur création dans votre boucle:

<input type="hidden" id="fieldSize" value="<%=fieldList.size()%>" /> 
<% 
    int i = 0; 
    for (String fieldName : fieldList) { 
%> 
    <input id="field-<%=i++%>"/> 
<% 
    } 
%> 

Puis en JavaScript créer une fonction qui est appelée à présenter (onsubmit) qui passe par la liste des champs et vérifie si ils sont vides ou pas. Si non vides, retournez true, sinon retournez false.

function checkFields() { 
    var size = parseInt(document.getElementById("fieldSize").value); 
    for (var i = 0 ; i < size ; i++) { 
    if (document.getElementById("field-" + i).value.length == 0) { 
     return false; 
    } 
    } 
    return true; 
} 

Ceci est juste une structure simple de la façon d'y parvenir. Je vais laisser le reste (montrant des messages d'erreur, etc.) à vous.

+0

merci qui a vraiment aidé – Harish

0

Uhm,

if (field_whatever.value.length == 0)
{
alert('field_whatever is empty!');
}

Ou ai-je missunderstand votre question?

+0

U mal compris ma question.C'est comme comment accéder à l'élément individuel à partir du formulaire.Il existe un moyen d'accéder à l'élément particulier field1 ou field2 dynamiquement en fonction de la taille. <% { %> size = 30 value = ""> <% } %> quand l'utilisateur soumet le formulaire que je devrais vérifier chaque élément et vérifier si elle est nulle – Harish