javascript - 提交时将 php 字符串发送到 javascript

标签 javascript php html drop-down-menu redis

我想在单击提交时将 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/

相关文章:

HTML/CSS 背景图像缩放至 100%

javascript - 我想要那个 "mousewheel event delay"

javascript - RequiredField 验证器未触发

具有 Drupal 编码风格的 PHP 代码格式化程序

html - 宽度为零的按钮仍会影响 Safari 中父级的宽度

jquery - 如何使用jquery在树结构中添加子元素

javascript - Apigee 路由帖子获取 api

javascript - 在 JSX 中附加元素的惯用方式

php - 准备好的语句在 'while' 期间返回相同的结果

php - 使用 Laravel Query 计算两列的值