将选定的下拉框值id传递给下一页的url

时间:2012-10-19 06:58:14

标签: url

我是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> 

当我执行im在网址上获取“未定义”时。

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

我该如何解决这个问题?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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。