Php 在选项组合框中创建链接

Php 在选项组合框中创建链接,php,javascript,option,Php,Javascript,Option,我正在尝试在组合框中创建链接,但出现了一个错误 以下是我的JS函数: <script type="text/javascript"> function handleSelect(elm) { window.location = elm.value+".php"; } </script> 功能手柄选择(elm) { window.location=elm.value+“.php”; } 这是组合框的形式 <select name="Pilihan">

我正在尝试在组合框中创建链接,但出现了一个错误

以下是我的JS函数:

<script type="text/javascript">
function handleSelect(elm)
{
    window.location = elm.value+".php";
}
</script>

功能手柄选择(elm)
{
window.location=elm.value+“.php”;
}
这是组合框的形式

<select name="Pilihan">
    <option value="" selected href="view1.php">- Item -</option>
    <option value="" selected href="view2.php">- Budg -</option>
    <option value="" selected href="view3.php">- Dept -</option>
    <option value="" selected href=>- Silahkan Pilih -</option>
</select>

-项目-
-巴德-
-系-
-西拉坎·皮利-

看起来您可能缺少以下内容:

<select name="Pilihan" onchange="handleSelect(this)">

然后是建议的事件绑定方法之一。

href
不是选项标记的有效属性,您不能将链接真正放入选择下拉列表中。但是,您可以使用一些javascript魔术来实现这一点,如下所示:

<select name="Pilihan" onchange="document.location = this.options[this.selectedIndex].value;">
   <option value="view1.php">- Item -</option>
   <option value="view2.php">- Budg -</option>
   <option value="view3.php">- Dept -</option>
</select>

-项目-
-巴德-
-系-
或使用事件处理程序:

<select name="Pilihan">
   <option value="view1.php">- Item -</option>
   <option value="view2.php">- Budg -</option>
   <option value="view3.php">- Dept -</option>
</select>

<script type="text/javascript">
    document.getElementsByName('Pilihan')[0].onchange = function() {
        document.location.href = this.options[this.selectedIndex].value;
    }
</script>

-项目-
-巴德-
-系-
document.getElementsByName('Pilihan')[0]。onchange=function(){
document.location.href=this.options[this.selectedIndex].value;
}

请使用事件注册而不是内联事件句柄请使用jQuery。。。当然,它也可以是
document.getElementByTagName(“Pilihan”).onchange=function(){handleSelect(this)}该用户似乎是JavaScript新手。最好不要引入过时的内联处理程序。@Asad-内联处理程序不是过时的,它们是完全有效的,但通常在单独的脚本中使用事件处理程序是更好的做法,但在这种情况下,它所做的只是离开站点,因为它会重定向,所以这不是什么大问题。过时并不意味着无效。这意味着一种方法已经被一种更好的方法所取代。这不是关于这个特定的脚本,而是关于JS新手被引入不太受欢迎的事件注册模型。@Asad-内联事件处理程序没有过时或被取代,它们仍然在世界上一些大型网站上使用,如Google和Facebook,但在大多数情况下,将功能与形式和外观分开是更好的做法,但我确实倾向于同意,我永远不会在自己的网站上使用内联JS,所以我还要添加另一个选项。@新手,当你说它有效时,接受以下其中一个作为答案:-)
<select name="Pilihan">
   <option value="view1.php">- Item -</option>
   <option value="view2.php">- Budg -</option>
   <option value="view3.php">- Dept -</option>
</select>

<script type="text/javascript">
    document.getElementsByName('Pilihan')[0].onchange = function() {
        document.location.href = this.options[this.selectedIndex].value;
    }
</script>