2010-11-22 7 views
0
img="loader.gif (editeg link because i need 10 more reps to add img src tag)"; 

var pot=true; 
function trimite(){ 
    if(pot==true){ 
    pot=false; 
    jQuery("#loader").hide().html(img).slideDown(); 
    jQuery("#sec_code").fadeOut("slow"); 
    jQuery("#log_res").slideUp(); 
    jQuery.ajax({ 
    url:"register.php", 
    type:"post", 
    data:'utilizator='+jQuery("#utilizator").val()+'&parola='+jQuery("#parola").val()+'&reparola='+jQuery("#reparola").val()+'&mail='+jQuery("#mail").val()+'&security_code='+jQuery("#security_code_x").val(), 
    success:function(msg){ 
    jQuery("#loader").hide().html(img).slideUp(); 
    jQuery("#log_res").hide().html(msg).slideDown(); 
    jQuery("#sec_code").html('<img style="margin-top: -2px;" src="captcha.php?'+Math.random()+'" />').fadeIn("slow"); 
    pot=true; 
    } 
    }); 
    } else return false; 
} 

La forme est:forme jQuery soumettre

lien image modifiée, ne peut pas poster balise img

quand je clique sur soumettre, je reçois sur la même page .php? utilizator = certaine valeur & pass = certaine valeur etc, il ne fait pas la demande sur register.php .. pourquoi, je ne sais pas, sur js console, je ne parviens pas à charger la ressource, mais il existe .. il travaillé un certain temps, mais je ne sais pas ce que j'ai modifié sur il ne peut donc pas fonctionner avec succès .. Cheers, Edi.

+0

Si elle ne parvient pas à charger l'URL, il n'existe pas ou un chemin est erroné. Utilisez Firebug pour déboguer la demande - rien de plus que nous pouvons faire pour aider je pense –

+0

S'il vous plaît montrer le code pour le formulaire ou l'endroit où vous appelez trimite() – Dutchie432

+0

Vous vous montrez en définissant la fonction «trimite», mais vous ne montrez pas tout ce qui l'appelle. Est-ce votre problème, ou avez-vous oublié d'inclure certains détails nécessaires? – Phrogz

Répondre

0
<form onsubmit="javascript: return trimite();"> 
<input name="utilizator" type="text" class="password" id="utilizator" value="" size="32" maxlength="15"> 
<input name="parola" type="password" class="password" id="parola" value="" size="32" maxlength="30"> 
<input name="reparola" type="password" class="password" id="reparola" value="" size="32" maxlength="30"> 
<input name="mail" type="text" class="password" id="mail" value="" size="32" maxlength="40"> 
<img style="margin-top: -2px;" src="captcha.php" alt="ANTI SPAM !"> 
<input name="security_code" type="text" class="password" id="security_code_x" value="" size="5" maxlength="5"> 
<input type="submit" value="Inregistrare"> 
</form> 

c'est la forme que je soumets avec la fonction jquery trimite(); Je charge jquery v1.4.4 avant la fonction.

+0

l'index.php le script.js et register.php sont dans le même dossier – Eduard

+0

1) Vous devriez éditer votre question avec cette information, pas l'ajouter comme réponse à votre question. 2) Vous ne devriez pas mélanger JavaScript dans votre code HTML; à la place: '

' et '$ ('# foo'). submit (trimite);' – Phrogz

+0

Phrogz, je n'ai pas bien compris ce que vous utilisez: et $ ('# foo'). submit (trimite); – Eduard

0

Vous devez return false dans soit cas pour empêcher le comportement de soumission par défaut ... ce qui se passe. Assurez-vous de return false à partir de n'importe quel chemin de code dans la fonction, sinon il fera un formulaire normal soumettre (comme s'il n'y a pas de JavaScript du tout) ... comme vous le voyez. Comme il n'y a pas d'attribut action, il est soumis à la même page.

donc cette partie:

}); 
} else return false; 

devrait être comme celui-ci il retourne false peu importe:

}); 
} 
return false;