Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2016, 12:27
Кандидат Javascript-наук
Отправить личное сообщение для drkrol Посмотреть профиль Найти все сообщения от drkrol
 
Регистрация: 09.10.2013
Сообщений: 114

как выполнить ajax функцию не через submit, а через обычный div?
Здравствуйте. Такая вот ситуация. Есть ajax функция:
$(function(){
        $('#ajaxlogin').on( "submit", function(e) {
            e.preventDefault();
            $.ajax({
                type: "POST",
                url: "ajaxlogin.php",
                data: $('#ajaxlogin').serialize(),
                success: function(data){
                    alert(data);
                }
            });
        });
    });

,и она работает, когда я нажимаю на input type="submit". Подскажите, как сделать, чтобы она работала, когда я нажимаю на div с классом, например, send?
И вот еще вопрос сюда же. Если это будет div, то скорее всего форма не будет отправляться по нажатию на кнопку Enter. Как сделать, чтобы это происходило?

Вообще это функция отправки формы на сервер, если я сделаю так:

$('.send').click(function(){
$.ajax...
});

или так:
$('.send').submit();
, то на почту придёт пустое письмо, поэтому наличие $('#ajaxlogin') обязательно. Однако в форме уже присутствует один submit и его трогать нельзя. По идее, в начале происходит ajax отправка формы на сервер, там она проверяется, если всё верно, то имитируется нажатие на кнопку submit...

Последний раз редактировалось drkrol, 15.04.2016 в 12:51.
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2016, 13:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$('.send').click(function(){
   $('#ajaxlogin').trigger('submit')
});
Ответить с цитированием
  #3 (permalink)  
Старый 15.04.2016, 19:02
Кандидат Javascript-наук
Отправить личное сообщение для drkrol Посмотреть профиль Найти все сообщения от drkrol
 
Регистрация: 09.10.2013
Сообщений: 114

<form method="POST" id="ajaxlogin" class="login_form">
  <input type="text" name="login_name" id="login_name">
  <input type="password" name="login_password" id="login_password" >
  <div class="send auth-btn" >Моя</div>
  <input type="submit" style="opacity:0;" id="dlelogin">
  <input name="login" type="hidden" id="login" value="submit">
</form>

Вот такая вот форма. Мне нужно избежать нажатие на submit.
$('.send').on('click', function(){
     $('#ajaxlogin').submit();
        e.preventDefault();
                $.ajax({
                type: "POST",
                url: "ajaxlogin.php",
                data: $('#ajaxlogin').serialize(),
                success: function(msg){
                if(msg=='yes'){
                	$('#dlelogin').trigger('click');
                }
                if(msg=='no'){
                	$('.a-info').text('Неправильный логин или пароль')
                }

                }
            });
        });


В начале в ajaxlogin проверяется логин и пароль, и если такое совпадение есть, т.е. вернулся yes, то имитируется нажатие на невидимый элемент #dlelogin.

Ваше предложение решения не обходит #dlelogin , а нажимает на него.
Ответить с цитированием
  #4 (permalink)  
Старый 16.04.2016, 02:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от drkrol
Вот такая вот форма. Мне нужно избежать нажатие на submit.

$('#ajaxlogin').trigger('submit') - это не нажатие на submit, это запуск обработчика формы onsubmit ранее на нее установленный, собственно это программная отправка формы. И это не мое решение, а разработчиков jQ.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кеширование HTML переданого через ajax BorisBritva jQuery 6 02.04.2011 01:23
Послать форму загруженную через ajax в div используя ajax ncux jQuery 2 16.08.2010 17:36
Не могу обратиться к элементам div, после того как они получены через $.ajax igsavenko jQuery 1 31.05.2010 17:53
Как передать false через функцию? Tend Общие вопросы Javascript 7 16.03.2009 16:55
Как выполнить функцию с задержкой? AlexMak Events/DOM/Window 6 11.12.2008 11:53