1

私はphpが初めてです。選択したドロップボックスの値を次のページの URL に渡す方法は? 私はこのようなものを持っています:-

<script language="javascript">
    function showMe(str)
    {
    document.getElementById('myDiv').innerHTML = 'You have selected :'+str;
    }   
    </script>
    <select id="ccrseid" name="ccrseid" onchange="showMe(this.value);">
   <option value="">Select</option>
    <option value="1">Computer Science</option>
    <option value="2">Engineering</option>
    <option value="3">Business</option>
    <option value="4">Education and Training</option>

   </select>
<div id="myDiv"></div>

</body>
    </html>
<a href="#"onclick="document.location.href='timer.php?selectvalue='+document.getElementById('myDiv').value">Submit</a> 

私が実行すると、URLで「未定義」になります。

http://localhost/timer.php?selectvalue=undefined

どうすればこれを解決できますか?

4

2 に答える 2

1

あなたの質問では、達成したい 2 つの異なる結果があるようです。1つ目は、ドロップボックスの値を<select>ランディングphpページに渡したいということですが、コード例では、<select>「選択しました:」を追加して値を渡すことを示唆しています。したがって、基本的に-与えられた情報で-達成したい2つの結果があり、最初は最終的な「GET」URLです

http://localhost/timer.php?selectvalue=1

そして、「GET」URLを持つもう1つは

http://localhost/timer.php?selectvalue=You%20have%20selected%20:1

最初の結果では、javascript を使用するのはこれにアプローチする方法としては不適切です。標準の html<form>タグを使用してフォームを作成し、タグをボタンとして使用する<input>代わりに使用することをお勧めします。<a>

<form action="timer.php" method="get">
  <select id="ccrseid" name="selectvalue" onchange="showMe(this.value);">
  <option value="">Select</option>
  <option value="1">Computer Science</option>
  <option value="2">Engineering</option>
  <option value="3">Business</option>
  <option value="4">Education and Training</option>
  </select>
  <input type="submit" value="Submit">
<form>

2 番目の解決策では、<select>値を div に出力し、そのデータをタグ付きのランディング ページに送信し<a>ます。必要なことは、最後の行のリンクを変更することです。

<a href="#"onclick="document.location.href='timer.php?electvalue='+document.getElementById('myDiv').value">Submit</a>

<a href="#"onclick="document.location.href='timer.php?electvalue='+document.getElementById('myDiv').innerHTML">Submit</a>
于 2012-10-19T08:24:39.860 に答える
0

JavaScriptでも可能ですが、phpで行うことをお勧めします。これにより、訪問者がフォームを利用するために JavaScript を有効にする必要がなくなります。

<form action="timer.php" method="post">
  <select id="ccrseid" name="selectvalue"">
  <option value="">Select</option>
  <option value="1">Computer Science</option>
  <option value="2">Engineering</option>
  <option value="3">Business</option>
  <option value="4">Education and Training</option>
  </select>
  <input type="submit" value="Submit">
<form>

次に、timer.php ファイルの先頭に...

if((int)$_POST['selectvalue']){
    header('Location:timer.php?selectvalue=' . (int)$_POST['selectvalue']);
    exit;
}

JavaScriptは必要ありません。

于 2013-06-21T19:24:14.817 に答える