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

对于您的问题,您似乎想要实现两种不同的结果;第一个是您希望将<select>保管箱的值传递给登陆 php 页面,而您的示例代码建议您希望通过<select>附加“您已选择:”来传递该值。所以基本上 - 有了给定的信息 - 你想要实现两个结果,第一个是最终的“GET”网址

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

另一个带有“GET”网址的

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>

使用第二种解决方案,即将<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 回答