2016-06-14 13 views
0

Ich möchte eine PHP-Zeichenfolge an Javascript-Skript senden, wenn ich auf "Senden" klicken. Ich weiß schon, wie variabel passieren mit json_encode:Senden Sie PHP-Zeichenfolge an Javascript auf Senden

var str1 = <?php echo json_encode($str) ?>; 

Was ich möchte wissen, ist, wie man eine Variable übergeben, die von einer dynamischen Dropdown-Liste ausgewählt werden muss und das in einer while Schleife.

<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"/> 

Jetzt kann ich nicht var str1 = <?php echo json_encode($str) ?>; benutzen, weil ich nicht weiß, welche Auswahl würde der Benutzer wählen.

Jede Auswahl enthält die IP eines Servers. Ich brauche diese IP, um ein Javascript-Skript zu übergeben, wenn ich auf "Senden" klicke.

+0

php kann nur mit JS sprechen, wenn die Seite zum ersten Mal generiert wird. Danach kann PHP nichts mehr tun, außer als Antwort auf Ajax-Anfragen vom Client. –

+0

Lassen Sie mich mehr Code einfügen. Ich erzeuge eine neue Seite, wenn ich auf "Senden" klicke. Ich bekomme eine neue URL, die die URL ist, die ich brauche: http: //localhost/test/monitor.php? Kategorie = http% 3A% 2F% 2Flocalhost% 3A4561 – Mirakurun

+0

@MarcB Ich habe den eingefügten Code bearbeitet, jetzt sehen Sie Diese Übergabeschaltfläche hat eine Aktion, die eine neue URL auf derselben Seite generiert. – Mirakurun

Antwort

0

Ich beantworte es für die zukünftige Referenz, wenn jemand das gleiche Problem jemals begegnet.

Ich habe es arbeiten, indem sie ein PHP auf der Datei setzen:

<?php 

$JSAddress = $_GET['servers']; 

?> 

die später ich Javascript bestanden mit:

var str1 = <?php echo json_encode($JSAddress) ?>; 

Also im Grunde, wenn der Benutzer klickt auf einreichen, es sendet die Anfrage an den oben angegebenen PHP, der den Wert speichert und an Javascript weitergibt.

Verwandte Themen