我正在使用 $_SESSION 在页面重定向的情况下传回一个值。
由于 jquery 无法访问 $_SESSION 我决定使用 PHP 将值输出到隐藏的 div 并在获取值后删除该 div。我希望有一种更简洁的方法可以做到这一点,但我不知道如何将 $_SESSION 变量公开给 jquery。
<?php
$pass_Back = $session->get_Pass_Back();
$session->clear_Pass_Back();
?>
<?php
if (count($pass_Back) != 0){
echo "<input class=\"field_Input_Left\" id=\"schedule_Description\" type=\"text\" name=\"schedule_Description\" value=\"" . array_shift($pass_Back) . "\"/><br />";
echo "<div id=\"pass_Back\" style=\"visibilty: hidden;\" ></div>";
} else {
echo "<input class=\"field_Input_Left\" id=\"schedule_Description\" type=\"text\" name=\"schedule_Description\"/><br />";
}
?>
一旦完成,我需要一个方法让 jquery 知道这个新元素是否以及何时添加到 DOM。因此,我使用插件 livequery 来匹配添加元素的时间。它这样做很棒。
但是当我尝试访问 div 中的值时,它表明它是未定义的。
$("#pass_Back").livequery(function(){
if ($("#class_Name").val() != 0){
var class_Name = $("#class_Name").val();
get_Schedule_Data(class_Name);
} else {
var class_Name = "ALL";
get_Schedule_Data(class_Name);
}
$value = $(this).attr("value");
auto_Fill_Schedule($("#pass_Back").attr("value"));
// destroy pass back
$("#pass_Back").remove();
});
在 firebug 中查看时,我注意到在 livequery 找到添加的元素时没有显示 html。DOM 已准备就绪,否则 livequery 无法运行,但这就是找不到值的原因吗?
任何指导都感激不尽。