2010-09-08 117 views
0

当用户尝试提交表单而未在必填字段(class =“required”)中输入数据时,字段将突出显示并给出焦点。除非该字段是选择选项。该字段突出显示,但用户不会返回到该字段。用户必须在这种情况下向上滚动。Jquery表单验证,将用户返回到必填字段

我需要窗体滚动到突出显示的字段,因为它与其他输入类型一样。有谁知道这个解决方案?

TIA。

回答

0

你有没有试过类似的东西?它将我滚动到选择位于Firefox/Safari/Chrome的顶部。

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

http://jsfiddle.net/9YwDF/

0

我将与锚标记做。为每个需要的输入创建一个锚点。检查所需的输入。如果您发现一个空白的,跳转到相应的锚点。

<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>