PHP变量没有传递给使用ajax“加载”的页面

时间:2011-03-06 18:27:14

标签: php jquery

我有一个页面(父),当单击一个按钮(带.click函数)时,它使用jQuery .load将表单加载到div中。在父页面上是以下PHP

<?php
   $SubmitDATETIME = date("n/j/Y g:i A");
   $timestamp = date ("n/Y");
?>

“已加载”内容使用远程脚本来验证表单,但我似乎无法将$ SubmitDATETIME和$ timestamp传递给已加载的表单。我试过使用像

这样的输入框

<input type"text" value="<?php echo $SubmitDATETIME ?>">但它们是空的。当我在父页面上放置相同的代码时,它可以工作。我应该a)用JS创建这个函数并应用于按钮的click函数,或者b)有没有办法将$ SubmitDATETIME和$ timestamp变量从父页面传递给加载的内容?可能使它成为远程PHP函数并使用.get来回显值?我很难过。

thx

** * ** * ** * 的** * ** * ** 编辑 * ** * ** * ** * ** * ** * *

我可能没有像我需要的那样明确,当你单击“按钮”它调用函数内部的单击函数$("#singleContent").load('pForm.php #formContent', function() {...});时,表单的验证包含submtiHandler。在submitHandler中是一个函数,用于构建表单所有值的xml字符串。其中一个是“回显submitDATETIME”的php函数。这是我遇到问题的地方。当我将函数作为$ _SESSION包含时,我可以将它打印到加载的表单,但验证没有回应它。我知道我可以使用JS在验证中构建函数,但我不知道如何。我能够将submitDATETIME回显到隐藏的输入,并从xml字符串中获取它的值。唷。有没有更好的办法?我如何用JS构建日期时间?

3 个答案:

答案 0 :(得分:1)

您可能需要将这些变量放到$ _SESSION数组中。

父页面上的

<?php
   $SubmitDATETIME = date("n/j/Y g:i A");
   $timestamp = date ("n/Y");
   session_start();
   $_SESSION['timestamp'] = $timestamp;
   $_SESSION['submitDATETIME'] = $SubmitDATETIME;
?>
加载ajax:

<?php session_start(); ?>
<input type"text" value="<?php echo $_SESSION['submitDATETIME']  ?>">

答案 1 :(得分:0)

确保输入在PHP代码后节奏,休息一切都很好

答案 2 :(得分:0)

如果页面已经加载,那么你必须通知Javascript PHP发送的变量。以下代码使用PHP将日期值输出到 Javascript字符串中,以后可以使用Javascript在页面上使用。

// Javascript with embedded PHP:
var submitDATETIME = "<?php echo date("n/j/Y g:i A"); ?>";
var timestamp = "<?php echo date("n/Y"); ?>";
var someOtherString = "<?php echo "hello world from PHP";?>";

现在,这些值在Javascript中都是纯字符串。如果需要将它们变为真正的Date()对象,see the Javascript Date() reference.

现在,正如上面所述的评论者所说,Javascript自己的Date()对象会做同样的事情。但是如果你需要将其他字符串从PHP传递到Javascript中,这将有效。