2010-09-08 6 views
0

Lorsque l'utilisateur tente de soumettre un formulaire sans entrer de données dans un champ obligatoire (class = "required"), le champ est mis en surbrillance et mis en évidence. Sauf lorsque le champ est une option de sélection. Le champ est mis en surbrillance mais l'utilisateur n'est pas retourné sur le terrain. L'utilisateur doit faire défiler vers le haut dans ce cas.Validation du formulaire Jquery, renvoi de l'utilisateur au champ requis

J'ai besoin du formulaire pour faire défiler le champ en surbrillance comme pour les autres types d'entrée. Est-ce que quelqu'un sait la solution pour cela?

TIA.

Répondre

0

Avez-vous essayé quelque chose dans quelque chose comme ça? Il me fait défiler vers le haut où la sélection est dans Firefox/Safari/Chrome.

$('#form').submit(function(e) { 
    if (yourSelectFailsValidaton) { 
     e.preventDefault(); 
     $('select').focus(); 
    } 
}); 

http://jsfiddle.net/9YwDF/

0

je le ferais avec des balises d'ancrage. Créez une ancre pour chaque entrée requise. Vérifiez les entrées requises. Si vous en trouvez un vide, sautez vers l'ancre correspondante.

<html> 
    <head> 
    <script type="text/javascript" src="http://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
     google.load("jquery", "1"); 
    </script> 
    <script type="text/javascript"> 
     function jumpToRequired() { 
     $("input.required").each(function() { 
      var input = $(this); 
      if (!input.attr("value")) { 
      window.location.hash = input.attr("id") + "_a"; 
      return; 
      } 
     }); 
     } 
    </script> 
    </head> 
    <body> 
    <a name="whatever_a"></a> 
    <input type="text" id="whatever" class="required" /> 
    <button type="button" onclick="jumpToRequired()">Jump to required.</button> 
    </body> 
</html> 
Questions connexes