2016-07-26 92 views
0

我有一個起始頁面,用戶在這裏提供一些信息(電子郵件和名稱)並按提交。當輸入第二頁時,jQuery將一些變量(dateStr)從第二頁內發送到第二頁。但是,我注意到這樣做會使表單提交變量消失。我在這裏展示了代碼的相關部分。 YourMail and YourName變成空字符串在這裏。我在做什麼錯誤?在PHP中處理jQuery變量時,表單提交變量會丟失

<?php 
$YourEMail = $_REQUEST['YourEMail']; 
$InputName = $_REQUEST['YourName']; 

$dateAndTime = ''; 
if(isset($_POST["dateStr"]) && strlen(trim($_POST["dateStr"])) > 0) 
{ 
    $dateAndTime = $_POST["dateStr"]; 
    // $dateAndTime is fine, but $YourEMail and $InputName are empty here! 
    ...... 
} 
?> 

jQuery代碼從第二頁內張貼$ dateStr如下所示。

<script type="text/javascript"> 
    $(function(){ 
    var d = new Date(); 
    var dateStr = d.toLocaleString(); 
    $.post(window.location, { 
     dateStr: dateStr 
    }).success(function(data){ 
     $('#divMessage').replaceWith("<span style=\"color:yellow\">" + dateStr + "</span>"); 
    }); 
}); 
</script> 
</head> 
+0

表單屬性操作(對於表單1)設置爲Post? – Webdev

+0

是的,在第一頁中,像這樣

。如果我不使用jQuery的東西,這些變量顯示正常。 – pythonic

+0

如何設置$ _POST [「dateStr」](如果此變量由第二種形式由Jquery發送)$ _ POST只應包含發佈第一個表單時發送的變量。表單是否再次發佈? – Webdev

回答

0

好的,我解決了這個問題。對於任何感興趣的人,這裏是解決方案。我想感謝ADyson對會話變量的建議。

<?php 
// Start the session 
session_start(); 
?> 
.... 
<?php 
if (isset($_POST['submit'])) 
{ 
    $YourEMail = $_REQUEST['YourEMail']; 
    $InputName = $_REQUEST['YourName']; 

    $_SESSION["email"] = $YourEMail; 
    $_SESSION["name"] = $InputName; 
} 

$dateAndTime = ''; 
if(isset($_POST["dateStr"]) && strlen(trim($_POST["dateStr"])) > 0) 
{ 
    $YourEMail = $_SESSION['email']; 
    $InpuName = $_SESSION['name']; 
    $dateAndTime = $_POST["dateStr"]; 
    ...... 
} 
?> 
0

我剛剛改變了你的jQuery代碼。試試吧: -

<script type="text/javascript"> 
     $(function(){ 
     var d = new Date(); 
     var dateStr = d.toLocaleString(); 
     var data ={ dateStr: d.toLocaleString(),YourEmail :'<?=$_POST['YourEMail']?>',YourName : '<?=$_POST['YourName']?>'} 
     $.post(window.location, data).success(function(data){    
      $('#divMessage').replaceWith("<br /><span style=\"color:yellow\">dateStr = " 
      + dateStr + "</span>"); 
     }); 
    }); 
    </script> 
    </head> 
+0

你好...現在問題解決了嗎? – Webdev

+0

不,仍然不起作用。 – pythonic