2010-11-22 173 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; 
} 

形式为:jQuery的形式提交

编辑的图片链接,不能发布img标签

当我点击提交,我在同一页页.php?utilizator = somevalue & pass = somevalue等,它不会在register.php上发出请求。为什么,我不知道,在js控制台上,我无法加载资源,但它存在..它工作了一段时间,但我不知道我修改了什么所以它不能成功运行.. 干杯,Edi。

+0

如果无法加载URL,它不存在或路径是错误的。使用Firebug来调试请求 - 除此之外我们还可以做些什么来帮助我认为 – 2010-11-22 19:31:45

+0

请显示表单的代码或调用的地方trimite() – Dutchie432 2010-11-22 19:32:19

回答

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> 

这是我用jquery函数提交的表单trimite();我在函数之前加载jquery v1.4.4。

0

您需要return false要么的情况下,以防止默认提交行为......这是怎么回事。请确保从函数中的任何代码路径return false,否则它将执行正常的表单提交(就像没有JavaScript一样)......就像你看到的一样。由于没有action属性,因此它会提交到同一页面。

所以这部分:

}); 
} else return false; 

应该是这样,因此返回false不管:

}); 
} 
return false;