2011-03-06 70 views
0

我有一个页面(父),当一个按钮(与.click funciton)被点击时,它使用jQuery .load将表单加载到div。在父页面下面的PHPPHP变量没有被传递到页面“加载”与AJAX

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

的“装”的内容使用远程脚本来验证的形式,但我似乎无法到$ SubmitDATETIME和$时间戳传递给装形式。我试过使用输入框如

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

THX

** * ** * ** * ** * ** * **编辑* ** * ** * ** * ** * ** * *

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

+1

JavaScript有自己的日期API:http://www.w3schools.com/jsref/jsref_obj_date.asp ..为什么你不能使用它? – 2011-03-06 18:31:26

+0

无法让它以相同的方式格式化,必须以相同的方式对后端WCF服务进行格式化。请帮助。 – 2011-03-06 19:38:07

回答

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'] ?>"> 
+0

你让我走向正确的方向,必须将$ _SESSION ['submitDATETIME']回显为隐藏的输入,并将该值添加到点击字符串,如“+ $('[name = date]')。 val()+“我猜是因为验证是用点击函数加载的,这个值正在丢失? – 2011-03-06 19:40:23

+0

我真的不知道它在哪里丢失了,我不得不多看一点你的代码 – Voooza 2011-03-06 20:10:35

+0

这里是点击功能的一个片段,当内容被加载时被调用...'<?php echo $ _SESSION ['submitDATETIME']?>'...我有父页面和加载页面,因为你有我可以使它的工作的唯一方法是有一个隐藏的输入(名称=日期)的谷,然后在点击funciton“”+ $('[name = date]')。val()+ “” – 2011-03-06 21:12:25

0

确保输入的PHP代码后节奏,休息每一件事情是罚款

0

如果该页面已经被加载,则必须通过通知发送PHP变量的JavaScript。以下代码使用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()对象,那么现在,作为上述评论者,Javascript自己的Date()对象将执行同样的操作。但如果你需要将其他字符串从PHP传递到Javascript,这将工作。

+0

无法获得JS DATE()以正确的顺序格式化。吮吸。请参阅编辑 – 2011-03-06 19:41:16