Javascript 发布两个值并检索php函数onchange的结果

Javascript 发布两个值并检索php函数onchange的结果,javascript,php,jquery,arrays,explode,Javascript,Php,Jquery,Arrays,Explode,下面是我从Firebug触发更改事件时发生的情况。 帖子可以: 不幸的是,响应有空变量$comparto和$ente: explode/list函数有什么问题?我对javascript不太熟悉,所以我倾向于使用自己的方法来解决这个问题。也就是说,我认为这将完成您正在尝试做的事情,而无需在代码底部添加脚本: <?php list($comparto, $ente) = explode("-", $_POST['data'], 2); echo "comparto: $comparto,

下面是我从Firebug触发更改事件时发生的情况。 帖子可以:

不幸的是,响应有空变量$comparto和$ente:


explode/list函数有什么问题?

我对javascript不太熟悉,所以我倾向于使用自己的方法来解决这个问题。也就是说,我认为这将完成您正在尝试做的事情,而无需在代码底部添加脚本:

<?php
list($comparto, $ente) = explode("-", $_POST['data'], 2);
echo "comparto: $comparto, ente: $ente";
?>
请注意,如果更改了选择或输入了文本,这将导致表单提交。如果你想给某人一个机会修改两个文件然后提交,你需要稍微修改一下,最好只添加一个提交按钮


然后,richiesta.php可以简单地从$\u POST['data']获取数据并从那里分解数据。

$\u POST['data']不存在。如果您发送'value'参数,则使用$\u POST['value']

错误行列表$comparto,$ente=explode-,$\u POST['data'],2;它应该是list$comparto,$ente=explode-,$u POST['value'],2@MudaserAli No.$\u POST['data']是正确的$_POST['data']将包含所选选项的值。@Mooseknuckles bro$.postrichiesta.php,{value:this.value};您正在使用服务器和在服务器上发布数据。您可以使用值访问发布的值。如果您想访问服务器端发布的数据,请将ajax post调用更新为$.postrichiesta.php,{data:this.value};通过它,您将在$u POST['data']中获得发布的数据,这是不正确的$_POST['data']将包含在选择输入中选择的值。您不能通过$_POST['value']访问它,您可以通过标记的名称访问它。在本例中,$_POST['data']我现在无法测试它,我一到我的PC就会告诉您问题不在于javascript代码。事实上,输入标记只是为了测试用javascript发送的POST数据,并且它被正确填充。我认为问题在于richiesta.php要么没有接收POST数据,要么没有正确输出它们。我几乎只处理html和php。但是如果我只是查看HTML并忽略脚本,那么表单就没有动作。这可能是问题所在,还是javascript解决了这个问题?我自己尝试了你的explode语句,效果很好,所以我认为这与你在页面底部发送数据的脚本有关。但不管怎样,只需将onchange=this.form.submit添加到你的select标记中,可能就能解决你的问题。。。
<?php
list($comparto, $ente) = explode("-", $_POST['data'], 2);
echo "comparto: $comparto, ente: $ente";
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Test</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<form action="richiesta.php" method = "post">
<label>Seleziona l'ente</label>
<select name="data" id="data" onchange = "this.form.submit()" >
    <option value="PRO - 011142764">COMUNE DI AGLIE'</option>
    <option value="PRO - 011120674">COMUNE DI AGRATE CONTURBIA</option>
</select>
<input type="text" name="textfield" id="textfield" onchange="this.form.submit()" />
</form>
</body>
</html>