0

フォームの前に検証エラーが発生すると、多くの入力フィールドを持つフォームがあります。私の質問は、エラーメッセージの検証エラーが発生したときにdiv#msg、ページの下部にあるカーソルの場所までウィンドウをスクロールする方法です。

<div id="msg"><ol></ol></div>
<form id="myform">
    <input type="text" name="field1"/>
    <input type="text" name="field2"/>
    <input type="text" name="field3"/>
    ...
    <input type="text" name="fieldn"/>
    <input type="submit" value="submit"/>
</form>

<script type="text/javascript"> 
$().ready(function() {

var options = { 
    success:       showResponse
    }; 

var container = $('#msg');
var validator = $("#myform").validate({
    messages: {
        field1: {
            required: "message",
        },
        fieldn: {
            required: "message",
        },
    },
    errorContainer: container,
    errorLabelContainer: $("ol", container),
    submitHandler: function(form) {
            jQuery(form).ajaxSubmit(options);
    },
    wrapper: 'li',
    meta: "validate",   
});

function showResponse(responseText, statusText, xhr, $form)  { 
          alert(responseText);
          validator.resetForm();
} 
});
</script>
4

1 に答える 1

0

showResponse検証エラーを返す場合は、コールバック関数に jQuery animate 関数呼び出しを挿入する必要があります。

試す:

$("html,body").animate({scrollTop:$('div#msg').offset().top}, 500);

于 2012-10-27T12:07:07.363 に答える