2017-02-24 4 views
1

私はPHPの変数$ photographerNumを持っています。私のページのドロップダウンフィールドの値に応じて値を変更したいのですが、javascriptのように見えますこれと同様にPHP変数を更新する新しい値を受け取る方法?ajaxのselectオプションリストを使ってPHP変数値を変更する

<!DOCTYPE html> 
<html> 
<body> 
<? $photographerNum = 1; ?> 
<p>Select an item from the list.</p> 
<select id="photographerNum" onchange="myFunction()"> 
    <option value="Item1">Item1 
    <option value="Item2">Item2 
    <option value="Item3">Item3 
    <option value="Item4">Item4 
</select> 
<script type="text/javascript"> 
function myFunction() { 
    var itemSelected = document.getElementById("photographerNum").value; 
    document.getElementById("demo").innerHTML = "You selected: " + itemSelected ; 
} 
</script> 
<p id="demo"> - photoNum=<? echo $photographerNum ?></p> 
</body> 
</html> 
+0

ユーザーがドロップダウンから何かを選択された時点では、PHPスクリプトがすべて終了します。 PHP変数を変更するとどういう意味ですか? – Barmar

+0

ドロップダウンの前にドロップダウンが選択された後にphp値が1であるphp変数が2または3に変更される可能性があります。ドロップダウンの下に変数をエコーし​​ます – MatrixHyperLoop

+0

ユーザーがブラウザでフォームを表示しているとき、スクリプトが実行されていないため、値はありません。 – Barmar

答えて

1

フォームはその後、選択した項目の値を出力するトリガされた新しい項目を選択すると、あなたは変数を送信し、サーバー側でそれを処理することができ、これを試してみてください。

<?php 
$photographerNum = 1; 
echo 'Initial value photographerNum::' . $photographerNum; 
?> 
<form name="myform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" > 
    <select name="photographerNum" id="IdphotographerNum" onchange="myform.submit();"> 
    <option value="0">Selecte an item 
    <option value="1">Item1 
    <option value="2">Item2 
    <option value="3">Item3 
    <option value="4">Item4 
</select> 
</form> 

<?php 
if (isset($_POST['photographerNum'])) { 
    echo 'New value photographerNum::' . $_POST['photographerNum']; 
} 
?> 

+0

これは、私がドロップダウンを選択したときのhtmlの選択を表示するように機能しますが、私はどのように私のPHP変数を更新しますか? – MatrixHyperLoop

+0

私は現在自分のコードを更新しました – MatrixHyperLoop

+0

@MatrixHyperLoop投稿を更新しました。変数の初期値と項目の選択後の新しい値が表示されます。 – rescobar

関連する問題