我想在单击提交时将 php 字符串发送到 javascript 脚本。我已经知道如何使用 json_encode
传递变量:
var str1 = <?php echo json_encode($str) ?>;
我想知道的是,如何传递一个需要从动态下拉列表中选择的变量,该变量位于 while
中。环形。
<section class="content">
<form id="admin" action="monitor.php" method="GET">
Servers :<br/>
<select name="category" id="category">
<option value="select">Select...</option>
<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$result = $redis->keys('*');
$i = 0;
while ($result[$i]!=null)
{
$Addr[$i] = $redis->hget($result[$i], 'Address');
$Port[$i] = $redis->hget($result[$i], 'Port');
$fullAdr[$i] = sprintf ("%s:%s", $Addr[$i], $Port[$i]);
$asdf[$i] = sprintf ("<option value='%s'>%s</option>", $fullAdr[$i], $result[$i]);
echo $asdf[$i];
$i++;
}
?>
</select><br/>
<input type="submit" value="Submit"/>
现在我不能使用var str1 = <?php echo json_encode($str) ?>;
因为我不知道用户会选择哪个选项。
每个选择都包含服务器的 IP。单击提交时,我需要将该 IP 传递给 Javascript 脚本。
最佳答案
如果有人遇到同样的问题,我正在回答以供将来引用。
我通过在文件顶部放置一个 php 使其工作:
<?php
$JSAddress = $_GET['servers'];
?>
我后来将其传递给 javascript:
var str1 = <?php echo json_encode($JSAddress) ?>;
所以基本上当用户点击提交时,它会将请求发送到上面的 php,后者存储值并将其传递给 javascript。
关于javascript - 提交时将 php 字符串发送到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37814775/