Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Что при блокировке submit скриптом форма не отправляется

Что при блокировке submit скриптом форма не отправляется


     26.03.2014    Общие вопросы, jQuery    2391

вопрос
Добрый день, сделал форму добавления комментариев, которая состоит из
.

<form action="" name="addcomment" id="addcomment" onsubmit="return validate_comment ( );" method="post">
<textarea name="comment_area" id="comment_area"></textarea>
<input type="submit" value="Добавить Комментарий" id="send" name="send">&nbsp;<input type="reset" value="Сброс">
</form>

Чтоб не отправляли пустые комменты сделал обработчик на JS, который будет проверять на пустоту и прочее, хотя это можно сделать и в PHP - но зачем мне лишний этот код...

<script type="text/javascript">
function validate_comment ( )
{
    valid = true;

        if ( document.addcomment.comment_area.value == "" )
        {
                DLEalert ( "Заполните поле комментария.", dle_info );
                valid = false;
        }
        
    if(valid == true)
    {
                ShowLoading('Отправка комментария');
                $('#send').attr('disabled', '');
    }
        
        return valid;
        
};
</script>


Чтоб не было овер-сабмита добавил $('#send').attr('disabled', ''); смотрите выше в коде. При нажатии на сабмит кнопка становится неактивной, появляется окно загрузки аякс(которого нет :-D) и после обвновления страницы комментария нет. Если убрать этот код, то отправка идет хорошо и комментарий появляется.

Сделал print_r($_POST) и увидел что пост-данные "comment_area" есть. Объясните в чём причина? Заранее благодарен

Ответа пока нет


1 комментарий

kricha
Юзер

kricha - 26 марта 2014 13:54 -

Не тем блокируете. Для начала прочитайте http://olegorestov.ru/js/return_false_vs_preventdefault/ думаю, оно натолкнет вас на нужную мысль.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх