我想在选项标记值中链接标记。 select,sample和add是我的选项标记值。 如果我单击添加选项,我想链接client.php页面。 onChange =“window.location.href = this.value”将在同一页面中打开,并且它将显示从数据库获取值的页面未找到错误。
我贴了我的代码。
echo '<select name="c" onChange="window.location.href=this.value" style="width:160px;">';
echo '<option selected>select</option>';
$op="select * from client";
$op1=mysql_query($op); while ($row = mysql_fetch_array($op1))
{
echo '<option value='.$row["c_name"].'>'.$row["c_name"].'</option>';
}
echo '<option value="/client.php">Add new client</option>';
echo '</select>';
答案 0 :(得分:1)
因为,你没有发送当前页面的网址。
echo '<select name="c" onChange="window.location.href=this.value" style="width:160px;">';
应该是
echo '<select name="c" onChange="window.location.href=<?php echo $_SERVER[\'PHP_SELF\'];?>&val=this.value" style="width:160px;">';
val
是下拉值。
答案 1 :(得分:1)
我不知道我是否理解你的需要,但如果是我,我会创建一个javascript函数,允许我根据选项值标签执行自定义操作,如果它是超链接或选项值。我在考虑这样的事情:
<script type="text/javascript">
document.getElementById('c').onchange = function(){
var test = (this.value.indexOf('/')===0) ? true : false;
if(test)
{
window.location.href = this.value;
}
}
</script>
在PHP代码上你只需要改变它:
echo '<select name="c" id="c" style="width:160px;">';
告诉我它是否不能满足您的需求