Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 21.09.2016, 20:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от sergofedor06
var $submit = document.querySelector('add_comment');
где точка в селекторе?
Ответить с цитированием
  #12 (permalink)  
Старый 21.09.2016, 20:07
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

я ее убрал, как с ней так и без толку нет
Ответить с цитированием
  #13 (permalink)  
Старый 21.09.2016, 20:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от sergofedor06
я ее убрал, как с ней так и без толку нет
... а поставить код внизу страницы и не мудрить?
Ответить с цитированием
  #14 (permalink)  
Старый 21.09.2016, 21:27
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

sergofedor06,
в квериСелектор пихай селектор как есть! С точечкой
Ответить с цитированием
  #15 (permalink)  
Старый 21.09.2016, 22:55
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

как не пробовал вставлять скрипт так ничего и не вышло, все ровно при многократном нажатии на кнопку добавить комментарий закидывает комментарий столько раз сколько нажал на кнопку!

вот весь мой скрипт на аяксе



$(document).ready(function () {
    function AjaxRefresh(url, page_anchor, form_id) {
        var url = url;
        var page_anchor = page_anchor;
        jQuery.ajax({
            url: url, //Адрес подгружаемой страницы
            type: "POST", //Тип запроса
            data: {comments_get_all: 1, anchorFromAjax: page_anchor},
            success: function (response) { //Если все нормально
                $('#comments_field').html(response);
                $("#"+form_id+" input[type='text'], textarea").val("");
                $("#"+form_id+" #result").fadeIn(400,
                    function(){
                        $('this')
                            .css('display', 'block')
                            .animate({opacity: 1, top: '50%'}, 200)
                    });
                document.images.cryptogram.src='captcha/cryptographp.php?cfg=0&&'+Math.round(Math.random(0)*1000)+1;    // указать путь до файла!
            },
            error: function (response) { //Если ошибка
                alert(response);
            }
        });
    }

    function AjaxFormRequest(form_id, url, page_anchor) {
        var form_id = form_id;
        var url = url;
        var page_anchor = page_anchor;
        jQuery.ajax({
            url: url, //Адрес подгружаемой страницы
            type: "POST", //Тип запроса
            dataType: "html", //Тип данных
            data: jQuery("#" + form_id).serialize(),
            success: function (response) { //Если все нормально
                if (response == '0') {
                    alert('есть ссылки в коментарии');
                } else {
                    AjaxRefresh(url, page_anchor, form_id);
                }
            },
            error: function (response) { //Если ошибка
                alert(response);
            }
        });
    }

    function AjaxWordsCheck(url, str) {
        var url = url;
        var str = str;
        jQuery.ajax({
            url: url, //Адрес подгружаемой страницы
            type: "POST", //Тип запроса
            data: {words: str},
            dataType: "html",
            success: function (response) { //Если все нормально
                return response;
            },
            error: function (response) { //Если ошибка
                return false;
            }
        });
    }

    function AjaxCapchaCheck(url, capcha, anchor, form_id) {
        var url = url;
        var capcha = capcha;
        var page_anchor = anchor;
        var form_id = form_id;
        jQuery.ajax({
            url: url, //Адрес подгружаемой страницы
            type: "POST", //Тип запроса
            data: {capcha: capcha},
            success: function (response) { //Если все нормально
                if (response == '1') {
                    AjaxFormRequest(form_id, url, page_anchor);
                } else {
                    alert('ошибка защитного кода');
                    document.images.cryptogram.src='captcha/cryptographp.php?cfg=0&&'+Math.round(Math.random(0)*1000)+1;    // указать путь до файла!
                    return false;
                }
            },
            error: function (response) { //Если ошибка
                alert(response);
            }
        });
    }

    $('body').on('click', "#comments_add_form input[type='submit']", function (e) {
        e.preventDefault();
        var user_name = $("#comments_add_form  #user_name");
        if (user_name.val().length >= 3) {
            var comment_text = $("#comments_add_form  #comment_text");
            if (comment_text.val().length >= 30) {
                var capcha = $("#comments_add_form #capcha");
                var anchor = $("#comments_add_form  #anchor").val();
                if (user_name.val() == "") {
                    alert("введите имя");
                } else if (comment_text.val() == "") {
                    alert("введите коментарий")
                } else {
                    AjaxCapchaCheck('comments.func.php', capcha.val(), anchor, 'comments_add_form');    // указать путь до файла!
                }
            } else {
                alert("минимум 30 символов");
            }
        } else {
            alert("минимум 3 символа");
        }
    });
});
Ответить с цитированием
  #16 (permalink)  
Старый 22.09.2016, 10:45
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

Помогите пожалуйста сделать правку в этом скрипте чтобы не срабатывала кнопка после первого нажатия
Ответить с цитированием
  #17 (permalink)  
Старый 22.09.2016, 11:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

sergofedor06,
var flag;
    $('body').on('click', "#comments_add_form input[type='submit']", function (e) {
        e.preventDefault();
        var el = this;
        if(flag)return;
        else {flag = true;
el.setAttribute('disabled', 'disabled');
window.setTimeout(function() {
    el.removeAttribute('disabled');
    flag = false;
}, 10000)};
        var user_name = $("#comments_add_form  #user_name");
Ответить с цитированием
  #18 (permalink)  
Старый 22.09.2016, 11:13
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

Спасибо рони
я так понимаю что ваш скрипт мне нужно добавить в мой скрипт

перед этой строкой

var user_name = $("#comments_add_form #user_name");
Ответить с цитированием
  #19 (permalink)  
Старый 22.09.2016, 11:16
Профессор
Отправить личное сообщение для Manyasha Посмотреть профиль Найти все сообщения от Manyasha
 
Регистрация: 21.09.2015
Сообщений: 196

sergofedor06,
может так получится?
function AjaxCapchaCheck(url, capcha, anchor, form_id) {
        var url = url;
        var capcha = capcha;
        var page_anchor = anchor;
        var form_id = form_id;
        jQuery.ajax({
            url: url, //Адрес подгружаемой страницы
            type: "POST", //Тип запроса
            data: {capcha: capcha},
            success: function (response) { //Если все нормально
                if (response == '1') {
                    AjaxFormRequest(form_id, url, page_anchor);
                } else {
                    alert('ошибка защитного кода');
                    document.images.cryptogram.src='captcha/cryptographp.php?cfg=0&&'+Math.round(Math.random(0)*1000)+1;    // указать путь до файла!
                    return false;
                }
				//ДОБАВИЛА
				$('.add_comment').prop('disabled', false);
            },
            error: function (response) { //Если ошибка
                alert(response);
				//ДОБАВИЛА
				$('.add_comment').prop('disabled', false);
            }
        });
    }

    $('body').on('click', "#comments_add_form input[type='submit']", function (e) {
        e.preventDefault();
		$('.add_comment').prop('disabled', true);
		//...
    });
Ответить с цитированием
  #20 (permalink)  
Старый 22.09.2016, 11:21
Кандидат Javascript-наук
Отправить личное сообщение для sergofedor06 Посмотреть профиль Найти все сообщения от sergofedor06
 
Регистрация: 10.11.2015
Сообщений: 131

рони
к сожалению не выходит, еще до заполнения формы комментария я жму на кнопку добавить комментарий
идет перенаправление, должна срабатывать проверка (поля не заполнены и тд....)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка для нажатия кнопки hidden liringea Элементы интерфейса 7 09.08.2013 18:38
Как вернуться к месту нажатия ссылки после скроллинга? galva74 jQuery 2 02.05.2012 10:41
Имитация нажатия кнопки ehan jQuery 9 14.12.2011 14:07
Событие hover только после 2 секунд niksan jQuery 7 12.08.2010 14:16
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23