user2104560
user2104560

Reputation:

Jquery .AJAX doesn't works on click event

I'm going to implement the following:

When user presses button AJAX query is performed to servlet. Depending on the request from server, I change label text.

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 code of button

 <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>");
            }
        });
    });
});     

Probably useful information:

I perform AJAX query from domain/someJSP/RemindPassword.
I put servlet in the root of my web app and intentionally put slash before URL in AJAX call. No success.
When I used .get JQUERY function it worked when I call it on render bit didn't work when I put ajax call onclick. .ajax didn't work in both cases.

Upvotes: 0

Views: 1494

Answers (1)

Michael B.
Michael B.

Reputation: 2809

change ID selector, add prevent default and better handle the form submit instead of button click

  $('#form1').click(function(e) { 
    e.preventDefault()
  • assuming that form tag will have ID=form1

Upvotes: 0

Related Questions