2013-08-06 4 views
-1

J'ai le javascript suivant qui utilise ajax avec jquery pour soumettre un formulaire.mon jquery ajax formulaire soumettre ne fonctionne pas

$(function() { 
    $("#signform").submit(function() { 
     alert(); 
     $.ajax({ 
      type: "POST", 
      url: "page/sign.php", 
      data: { mail: $("#inputEmail").val(), 
        pass: $("#inputPassword").val(), 
        nick: $("#inputNick").val(),  
        date: $.datepicker.formatDate('yy/mm/dd', new Date()) }, 
      sucsess: handler, 
      error: function(err) { alert('error: ' + err.status) } 
     }); 
    }); 

    function handler(var){ 
     $('#message').html(val); 
    } 
}); 

et le code html est ici, en utilisant bootstrap!

<form class="form-horizontal" id="signform"> 

// ... something codes 

    <div class="form-group"> 
    <div class="col-offset-2 col-lg-10" align="center"> 
     **<button type="submit" class="btn btn-default">Sign in</button>** &nbsp; 
     <a href="index.php"><button type="button" class="btn">Cancel</button></a> 
    </div> 
    </div> 

</form> 

Lorsque j'ai appuyé sur le bouton d'envoi, il est allé à la page d'index.

Je ne sais pas ce qui ne va pas.

le code est dans la même page dans sign.php

+1

vérifier votre console de navigateur pour voir s'il y a des erreurs –

+0

également si l'alerte est sauté lorsque le bouton est utilisé –

Répondre

2

Vous n'êtes pas empêchez l'action par défaut du bouton soumettre, vous pouvez appeler event.preventDefault() ou return false dans le gestionnaire soumettre à résoudre ce problème

également dans la méthode handler le paramètre a été appelé var qui est invalide

$(function() { 

    $(document).on('submit', "#signform", function(e) { 
     $.ajax({ 
      type: "POST", 
      url: "page/sign.php", 
      data: { 
       mail: $("#inputEmail").val(), 
       pass: $("#inputPassword").val(), 
       nick: $("#inputNick").val(),  
       date: $.datepicker.formatDate('yy/mm/dd', new Date()) 
      }, 
      success: handler, 
      error: function(err) { 
       alert('error: ' + err.status) 
      } 

     }); 
     return false; //this will prevent the default action and will stop the event propagation 
     //if you do not want to stop event propagation you can use 
     //e.preventDefault(); 
    }); 

    function handler(val){ //also invalid variable name var here 
     $('#message').html(val); 

    } 
}); 
+0

merci! J'ai fait des erreurs ridicules! –

+0

@ 김효진 at-il résoudre le problème –

+0

Je pense qu'il existe une autre raison ... pour le test, quand j'inclus ** méthode d'alerte **. ce n'était pas le travail. cette page php chargée via innerHTML. comme ceci {var str = xhr.responseText; var personneDiv = document.getElementById ("Contenu"); personDiv.innerHTML = str;} peut-être qu'il fait quelques problèmes –

0

Essayez cela, il vous aidera à mieux, ici U = URL de la page, F = méthode page, D = données

U = sign.php,

F = page

D = "mail: '+ $ ("# inputEmail"). Val() +', passer: « + $ (" #inputPassword "). val() + ', pseudo:' + $ (" # entréeNick "). val() + ', date:' + $. datepicker.formatDate ('aa/mm/jj', nouvelle date ()) + ' »

// function for call page method using ajax 


    function Operation(U, F, D) { 
     $.ajax({ 
      type: "POST", 
      url: U + '/' + F, 
      data: D, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      async: false, 
      cache: false, 
      success: function (r) { 
       var str = r.d; 
     }); 
    } 
+0

thx c'est mieux que ma source! Utile et facile à utiliser;) –

Questions connexes