Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在PHP表单中插入Javascript数组吗?_Javascript_Php_Forms - Fatal编程技术网

我可以在PHP表单中插入Javascript数组吗?

我可以在PHP表单中插入Javascript数组吗?,javascript,php,forms,Javascript,Php,Forms,长话短说: 我有一个长长的复选框列表,用于为购买添加选项(电视、收音机、炉子等) 现在我需要在他们点击下一步时插入一个登录表单(减少创建/存储的没有客户联系信息的报价数量)。 但我失去了所有选择的选项,不得不再次让客户输入 因此,我为所选的选项id添加了一个on-click-add-to-array函数。这样我可以在提交表格之前收集ID 现在的问题是。。。如何使用php表单将该数组发送到服务器,我是Java新手 在我的研究中,我可以将数组值添加到表单action?optionId=3489167

长话短说: 我有一个长长的复选框列表,用于为购买添加选项(电视、收音机、炉子等)

现在我需要在他们点击下一步时插入一个登录表单(减少创建/存储的没有客户联系信息的报价数量)。 但我失去了所有选择的选项,不得不再次让客户输入

因此,我为所选的选项id添加了一个on-click-add-to-array函数。这样我可以在提交表格之前收集ID

现在的问题是。。。如何使用php表单将该数组发送到服务器,我是Java新手

在我的研究中,我可以将数组值添加到表单action?optionId=34891679,等等 难看但没问题。 我想要的是。。。如果这有道理的话。。单击下一步按钮document.write 迄今为止我的代码:(in)


var numArray=[];
函数addToArray(num){
numaray.push(num);
document.getElementById(“pTxt”).innerHTML=numArray;
返回false;
}
函数jstophp(){
var javavar=document.getElementById(“pTxt”).value;
document.getElementById(“rslt”).innerHTML=“”;
}
我可以看到这些值在

<div id="pTxt"></div>

但我不能把它们拔出来


有什么建议吗?

您应该为html输入命名,以便它们在$\u帖子中自动成为一个数组

<input type="checkbox" name="options[tv]" value="tv">
<input type="checkbox" name="options[radio]" value="radio">
<input type="checkbox" name="options[stove]" value="stove">
如果这不是一个选项,请使用隐藏的输入元素而不是DIV来存储数组:

<input type="hidden" id="pTxt" name="idList">
<script>
    var numArray = [];
    function addToArray(num){
        numArray.push(num);
        document.getElementById("pTxt").value = numArray;
        return false;

    }
</script>

var numArray=[];
函数addToArray(num){
numaray.push(num);
document.getElementById(“pTxt”).value=numArray;
返回false;
}

.innerHTML=“”+javavar+”
不完全是合法的javascript…您可以使用JSON,可以转换为PHP对象或数组。在PHP中为json使用json_encode en json_decode PHP函数。为什么不在提交表单时在服务器端会话中简单保存选项…?我在研究时发现+javavar+。。。我从变量中得到的只是“+javavar”或“undefined”。我读的是JSON,看不出有什么帮助。。我需要将变量隐藏在html输入字段中。是的,在我被告知插入登录表单之前,它就是这样工作的。好的,更新代码。你可以把你的东西保存在一个隐藏的输入中。对不起,还是不行。我想这是因为登录表单是一个include,并在向数组添加任何内容之前写入屏幕?我可以在页面上添加id,但是当我在include中添加div时,它仍然是空的。点击表单上的提交。。。没有数据,你还有其他问题。应该没有区别。如果可以填充div,则可以填充隐藏的输入。如果没有看到完整的代码,就不可能知道哪里出了问题。但你在某个地方遗漏了一些东西。如果您在表单提交时填充DIV,那么只要您的输入在表单标记内,它就应该填充并包含您想要的内容。如果它不这样做,你还有一个问题你还没有发现。
options => 
    tv => tv, 
    radio => radio 
    ...
<input type="hidden" id="pTxt" name="idList">
<script>
    var numArray = [];
    function addToArray(num){
        numArray.push(num);
        document.getElementById("pTxt").value = numArray;
        return false;

    }
</script>