在会话中传递Javascript变量和PHP变量的混合
我有一个表单,用户输入某些信息,然后通过Javascript返回一些信息 我想将信息从Javascript传递到另一个页面。虽然,在用户输入的形式中,有一个输入字段,我也想将其传递到下一个屏幕。我知道我可以通过$POST和session来传递这个输入字段,但我正在努力处理的是Javascript字段 这是我的表单(我将显示一个字段,以免代码充斥屏幕): 现在我知道PHP是服务器端,Javascript是客户端。那么我如何将这些数据传递给PHP变量呢 在我的第二页,我想输出一些会话。下面是一个示例:在会话中传递Javascript变量和PHP变量的混合,php,javascript,Php,Javascript,我有一个表单,用户输入某些信息,然后通过Javascript返回一些信息 我想将信息从Javascript传递到另一个页面。虽然,在用户输入的形式中,有一个输入字段,我也想将其传递到下一个屏幕。我知道我可以通过$POST和session来传递这个输入字段,但我正在努力处理的是Javascript字段 这是我的表单(我将显示一个字段,以免代码充斥屏幕): 现在我知道PHP是服务器端,Javascript是客户端。那么我如何将这些数据传递给PHP变量呢 在我的第二页,我想输出一些会话。下面是一个示例
<?php
echo ' <tr class="blah1"> ';
echo ' <td class="blah2">£' . $_SESSION['amountdiv'] . ' </td> ';
echo ' </tr> ';
?>
我查看了stackoverflow,人们提到了隐藏的输入字段。尽管如此,当我添加这些时,我的Javascript停止工作。您可以在页面加载时为Javascript变量分配一个php变量值
$var = $_SESSION['session_var'];
<script type="text/javascript">
var myVAr = <?php echo $var; ?>;
</script>
$var=$\u会话['SESSION\u var'];
var myVAr=;
您在上面发布了2个“输入”字段。问题是,隐藏输入的id=“amount”与文本字段的id=“amount”相同
id属性的值在整个html页面中必须是唯一的
因此,我建议重命名隐藏输入字段的id,您的javascript应该可以再次工作,您可以使用隐藏输入发布到下一页。您可以使用jQuery的AJAX功能
$(document).ready(function(){
$("#mysubmitbutton").click(function(){
var amount = parseFloat(document.getElementById("amount").value) || 0.00;
delivery = parseFloat(document.getElementById("delivery").value);
if(delivery !='select' && delivery)
{
delivery=parseFloat(delivery);
}
else
{
delivery= 0.00;
}
total = amount + delivery;
fixedrate = total / 100 * 12.2;
grandtotal = fixedrate + total;
.post("mysecondpage.php", {total: total, fixedrate: fixedrate,
grandtotal: grandtotal});
});
});
上面的代码获取JavaScript变量,并将它们发布到要重定向到的PHP页面
<?php
$total = $_POST["total"];
$fixedrate = $_POST["fixedrate"];
$grandtotal = $_POST["grandtotal"];
?>
然后您可以获取传输的值请检查您的
输入
是否没有值
。。。。
$var = $_SESSION['session_var'];
<script type="text/javascript">
var myVAr = <?php echo $var; ?>;
</script>
$(document).ready(function(){
$("#mysubmitbutton").click(function(){
var amount = parseFloat(document.getElementById("amount").value) || 0.00;
delivery = parseFloat(document.getElementById("delivery").value);
if(delivery !='select' && delivery)
{
delivery=parseFloat(delivery);
}
else
{
delivery= 0.00;
}
total = amount + delivery;
fixedrate = total / 100 * 12.2;
grandtotal = fixedrate + total;
.post("mysecondpage.php", {total: total, fixedrate: fixedrate,
grandtotal: grandtotal});
});
});
<?php
$total = $_POST["total"];
$fixedrate = $_POST["fixedrate"];
$grandtotal = $_POST["grandtotal"];
?>