我需要些帮助。我在html代码中包含了这个隐藏字段,并且在javascript中作为数组添加了一个值。在我的php代码中,我希望获得隐藏字段的值,并将其视为php数组。不过,这对我不起作用。相反,它将整个价值视为一体。如何将隐藏字段作为值转换为php数组,并在特定索引处打印值。
这是我隐藏字段的代码
<form name = "wall" action="Respon.php" method="post">
<fieldset>
    <input type="hidden" name ="widths[]" id ="widths" value="" />
    <input type="hidden" name ="lengths[]" id ="lengths" value="" />
</fieldset>
这是javascript代码,我在其中向隐藏字段添加了一个值。
widthL.push(Number(widths));
lengthL.push(Number(lengths));
$("#widths").val(widthL);
$("#lengths").val(lengthL);如您所见,我正在将这些值转换为一个数字,因为我是从输入文本字段中获取值的。
这是用于获取隐藏字段值的php代码。
<?php
$index = 0;
$widthlist = array();
$lengthlist = array();
$widths = $_REQUEST['widths'];
$lengths = $_REQUEST['lengths'];
array_push($widthlist, $widths);
array_push($lengthlist, $lengths);
$count = count($widthlist);
foreach ($widthlist as $w => $value) {
   echo $widthlist[$index];
   echo "<br />";
}
for($x = 0; $x < $count; $x++) {
   echo $widthlist[$x];
   echo "<br />";
}
?>我尝试了上述两种方法,但都没有效果。它将它们全部打印在同一行上,作为一个值。
有人能帮帮我吗?
发布于 2017-01-28 04:01:04
我会这样做的。我认为您应该序列化这些对象,然后在服务器中取消它们的序列化。
widthL.push(Number(widths));
lengthL.push(Number(lengths));
// 
var serializedwidthL = JSON.stringify(widthL);
var serializedlengthL = JSON.stringify(lengthL);
//
$("#widths").val(serializedlengthL );
$("#lengths").val(serializedlengthL );然后,当您在服务器中检索数组时:
$widthlist = json_decode($_REQUEST['widths'], true);
$lengthlist = json_decode($_REQUEST['widths'], true);这将为您提供一个包含分隔元素的数组。
发布于 2017-01-28 02:56:57
我想您必须在这里使用ajax来通过php访问javascript变量。在您的代码中,在推送这些值之后,使用ajax将所需的值作为数据和脚本位置作为相同的文件。您必须通过数据字段中的json对象发送两个数组。
$.ajax({
    type: "POST",
    url: "file.php",
    data: { arr2 : a2 },
    success: function() {
        alert1('ok, sent');
    }
});发布于 2017-01-28 03:04:25
尝尝这个
widthL.push(Number(widths));
lengthL.push(Number(lengths));
...
var tags = [];
var i;
for(i=0; i<widthL.length; i++) {
    tags.push('<input type="hidden" name="widths[]" value="'+widthL[i]+'" />');
}
for(i=0; i<lengthL.length; i++) {
    tags.push('<input type="hidden" name="lengths[]" value="'+lengthL[i]+'" />');
}
$("fieldset").html(tags.join(" "));https://stackoverflow.com/questions/41905855
复制相似问题