【问题标题】:Changing a PHP variable value with a select option list in ajax使用 ajax 中的选择选项列表更改 PHP 变量值
【发布时间】:2017-07-15 20:49:03
【问题描述】:

我有一个名为 $photographerNum 的 php 变量,我希望它的值根据我页面上下拉字段中的值进行更改,javascript 会是什么样子以及如何接收要更新的新值php 变量?

    <!DOCTYPE html>
<html>
<body>
<? $photographerNum = 1; ?>
<p>Select an item from the list.</p>
<select id="photographerNum" onchange="myFunction()">
  <option value="Item1">Item1
  <option value="Item2">Item2
  <option value="Item3">Item3
  <option value="Item4">Item4
</select>
<script type="text/javascript">
function myFunction() {
    var itemSelected = document.getElementById("photographerNum").value;
    document.getElementById("demo").innerHTML = "You selected: " + itemSelected ;
}
</script>
<p id="demo"> - photoNum=<? echo $photographerNum ?></p>
</body>
</html>

【问题讨论】:

  • 当用户从下拉列表中选择某些内容时,PHP 脚本已经全部完成。更改 PHP 变量是什么意思?
  • 在下拉列表之前 php 值为 1 选择下拉列表后 php 变量可能会更改为 2 或 3 我正在回显下拉列表下方的变量
  • 当用户在浏览器中查看表单时,该变量没有任何值,因为脚本没有运行。
  • 这不是函数的用途吗?
  • 该函数正在更改 DOM,而不是 PHP 变量。

标签: php ajax select option dropdown


【解决方案1】:

试试这个,当你选择一个新项目时,会触发一个表单,输出所选项目的值,之后,你可以发送变量并在服务器端处理它。

<?php 
$photographerNum = 1;
 echo 'Initial value photographerNum::' . $photographerNum;
?>  
 <form name="myform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
   <select name="photographerNum" id="IdphotographerNum"   onchange="myform.submit();">
    <option value="0">Selecte an item
    <option value="1">Item1
    <option value="2">Item2
    <option value="3">Item3
    <option value="4">Item4
</select>
</form>

<?php
if (isset($_POST['photographerNum'])) {
   echo 'New value photographerNum::' . $_POST['photographerNum'];
}
?>  

【讨论】:

  • 这可以在我选择下拉菜单时向我显示 html 中的选择,但是如何更新我的 php 变量?
  • @MatrixHyperLoop 我已经更新了帖子,它显示了变量的初始值和被选中后的新值。
  • 我看到的可能问题是这个选择选项已经是另一个表单的一部分
  • @MatrixHyperLoop,在这种情况下,您可以使用 Jquey 并获取选择“id”,然后使用“photographerNum”值进行请求。
  • 你能告诉我这样做的代码是什么样的吗?我对 jquery 很陌生
猜你喜欢
  • 1970-01-01
  • 2018-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多