JQuery Отправить не будет отправлять форму - PullRequest
1 голос
/ 15 марта 2012

У меня есть для этого отправка с этой кнопкой:

<button id="registerButton" type="submit" name="submit" style="margin-left: 300px;">Click to Complete</button>

Я делаю проверку ошибок с помощью этого jQuery:

$('#registerButton').bind('click',function(){
    if($('#formElem').data('errors')){
            alert('Please correct the errors in the Form');
            return false;
        }
});

Когда я иду, чтобы отправить форму, она выскакивает с предупреждением, если в форме обнаружены ошибки. Однако, если ошибок нет, кнопка ничего не делает. Что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 15 марта 2012

Привязать валидацию к событию отправки формы.

$("#formid").submit(function(e) { 
    if($(this).data('errors')){
        //display error
        e.preventDefault(); //stop the submit
    } else {
       //do something or nothing
       //but it will submit the form
    }

});
0 голосов
/ 15 марта 2012

Просто чтобы предоставить вам полный минимальный пример, который работает для меня, в Firefox, Internet Explorer, Chrome и Opera. Надеюсь, это поможет.

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
    jQuery(document).ready(function(){

        $("#frm").submit(function(e){

            if($(this).data("errors")){
                alert("errors");
                return false;
            }
            return true;
        });
    });
</script>
</head>
<body>
    <form id="frm" action="#sent" data-errors="have errors">
        <input type="submit" />
    </form>
</body>
</html>
0 голосов
/ 15 марта 2012

Похоже, вам нужно добавить else {return true;} к вашей функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...