2011-06-27 4 views
0

les gars que je reçois fou Je ne comprends pas pourquoi cela ne fonctionne pas (il a toujours fait!)jquery, return false sur soumettre doesnt travail

 //add new folder 
     $("#add_folder_form").submit(function(event){ 

      var folder_name = $(this).find([name="folder_name"]).val(); 
      var post_string = "folder_name="+folder_name+"&path="+path; 
      $.ajax({ 
       type : "POST", 
       url: "/admin/controllers/add_new_folder,php", 
       data : post_string, 
       success: function(response){ 

        if (response){ 
         event.preventDefault(); 
        } 
        else { 
         event.preventDefault(); 
        } 
       } 
      }) 


event.preventDefault(); 
     }); 

HTML

<form id="add_folder_form" action="" method="post"> 
    New folder <input style="width: 400px" name="folder_name" type="text" /> 
    <input type="submit" id="add_folder_form_send" value="save"/> 
</form> 

J'ai également essayé d'utiliser click sur #add_folder_form_send et en utilisant return false; au bas de la fonction. Il soumet toujours!

+0

quel est le point de l'if (réponse) si y Ou faire la même chose dans les deux cas? –

Répondre

2

Try this ...

$('selector').submit(function(event){ 
    event.preventDefault(); 
    ....// your ajax code here... 
    return false; 
}) 

car au moment où vous appuyez sur la preventDefault(); la page a déjà rechargées pour vous ... et il est trop tard pour poursuivre les actions de script ...

+0

le problème était find ([name = "folder_name"]) qui est apparemment incorrect –

+2

oh oui devrait être "find (" [name = folder_name] ")" ... mais vous devez toujours utiliser event.preventDefault(); la première chose :) Je n'ai jamais vu autant d'erreurs dans si peu de script lol :) mais bonne chance :) – Val

0

essayer

return false; 

au lieu de

preventDefault(); 
1

u ajouter '' changement à '.' dans le texte suivant add_new_folder,phpadd_new_folder.php

+0

c'est un bon point mais il dit qu'il ne peut pas empêcher le navigateur de soumettre le formulaire ... :) – Val

2

Est-ce que javascript lance des erreurs (vérifiez la console - réglez-la pour casser les erreurs)?

Cette ligne semble assez suspect (virgule au lieu de points)

url: "/admin/controllers/add_new_folder,php", 
1

Peut-être à cause de cela:

/admin/controllers/add_new_folder,php 

... remplacer la virgule par un point, ce qui vous donnera ceci:

/admin/controllers/add_new_folder.php 
-1
return function(event){event.preventDefault();}/*return false*/