0
我想发送一个PHP字符串到JavaScript脚本,当我点击提交。我已经知道如何通过变量,json_encode
:发送PHP字符串到JavaScript提交
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只能在页面第一次生成时直接与JS通话。之后,除了响应客户端的Ajax请求,php不能做任何事情。 –
让我粘贴更多的代码。当我点击提交时,我确实会生成一个新页面。我得到一个新的url,它是包含我需要的IP的url:http://localhost/test/monitor.php?category = http%3A%2F%2Flocalhost%3A4561 – Mirakurun
@MarcB我编辑了粘贴的代码,现在你看到该提交按钮具有在同一页面上生成新网址的操作。 – Mirakurun