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