2013-08-27 2 views
0

я собираюсь реализовать следующее:Jquery .ajax не работает на события нажатия

Когда пользователь нажимает кнопку AJAX запрос выполняется в сервлет прижимает. В зависимости от запроса с сервера я меняю текст ярлыка.

web.xml

<servlet> 
     <servlet-name>RemindPassword</servlet-name> 
     <servlet-class>app.RemindPassword</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>RemindPassword</servlet-name> 
     <url-pattern>/RemindPassword</url-pattern> 
    </servlet-mapping> 

HTML код кнопки

<form> 
    <div class="field"> 
     <label for="email">Your e-mail:</label> 
     <input name="email" type="text" class="t"> 
    </div> 
    <input id ="btn" type="submit" value="Send" /> 
</form> 

JS

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#btn').click(function() { 
     $.ajax({ 
      type: "GET", 
      url: "/RemindPassword", 
      //dataType:text, 
      //data: $("#registerSubmit").serialize(), 
      success: function(msg){ 
       $('input[type="submit"]').after("<label for='submit'>" + msg+" " +"</label>"); 
      }, 
      error: function(XMLHttpRequest, textStatus, errorThrown) { 
       $('input[type="submit"]').after("<label for='submit'>" + fail+" " +"</label>"); 
      } 
     }); 
    }); 
});  

Возможно полезная информация:

Выполняю запрос AJAX от domain/someJSP/RemindPassword.
Я положил сервлет в корень моего веб-приложения и намеренно поместил косую черту перед URL-адресом в вызове AJAX. Нет успеха.
Когда я использовал функцию .get JQUERY, она работала, когда я вызываю ее на бит визуализации, не работал, когда я положил вызов ajax onclick. .ajax не работал в обоих случаях.

+0

Где '.click' обработчик события? –

+0

О, извините, я отправил старую версию. См. Обновление. – Baurzhan

+0

Какая ошибка вы получаете? –

ответ

1

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

$('#form1').click(function(e) { 
    e.preventDefault() 
  • предполагая, что тэг формы будет иметь ID = form1
+0

О, это сработало! E.preventedDefault() - это выполнило задание. Я буду принимать ответ через 4 минуты, спасибо! Не могли бы вы объяснить мне, что означает 'preventdefault'? – Baurzhan

+0

, чтобы предотвратить действие кнопки по умолчанию. Я обновил код для запуска на форме submit вместо нажатия кнопки, потому что пользователь может вызвать форму отправки без нажатия кнопки, но нажав enter в текстовом поле –

+0

спасибо за указание! – Baurzhan

Смежные вопросы