javascript提交丢失$ _POST值

时间:2014-04-21 09:12:34

标签: javascript php jquery

我有以下脚本

 $(document).ready(function(){
   $("#SoumettreCarte").submit(function(ev) {
    alert('ok');
    ev.preventDefault();

    ville="bonjour";

    $.post("../cartes/essai2.php", {ville:ville})
    .done(function (response) {
//         window.location.replace("http://localhost/projet2/cartes/essai2.php");

        });

 });
});

当我点击提交时,我希望它将我重定向到essai2.php,所以我使用window.location.replace,但后来我失去了$_POST的值。所以我的问题是如何在使用javascript提交表单后加载另一个页面而不会丢失我的$_POST。谢谢你的帮助。

当我尝试动作=“essai2.php”时,我的$ _POST中没有“ville”。

3 个答案:

答案 0 :(得分:1)

您可以创建一个隐藏字段:

HTML

<input type="hidden" name="ville" id="ville">

您可以像这样更改输入字段的值:

JQUERY

$(document).ready(function(){
  ville = 'Bonjour';
  $("#ville").val(ville);
  //or $("[name=ville]").val(ville);
}

答案 1 :(得分:0)

你可以这样做

<form action="essai2.php" class ="SoumettreCarte" id="SoumettreCarte" method="post" > 
<input type="text" name="pays" id="pays">
<input type="hidden" name="lat" value=""> 
<input type="hidden" name="lng" value=""> 
<input type="submit" name="submit" id="soumettre" value="soumettre la carte" > 
</form>

在jquery部分中这样做

var lat = "some lattitude";
var lng = "some longtitude";

$("[name=submit]").click(function(e){

$("[name=lat]").val(lat);
$("[name=lng]").val(lng);
});

答案 2 :(得分:0)

<form action="essai2.php" class ="SoumettreCarte" id="SoumettreCarte" method="post" >
<input type="text" name="pays" id="pays">
<input type="hidden" name="lat" value="">
<input type="hidden" name="lng" value="">
<input type="submit" name="submit" id="soumettre" value="soumettre la carte" >
</form> 
<script type="text/javascript"> 
 $.post("../cartes/essai2.php", data:$("#SoumettreCarte").serialize()) 
 .done(function (response) {

    });</script>

你可以尝试这个......