JavaScript无法用于URL重定向

吉姆

有人可以帮我这个我要开始工作的脚本吗?我需要一个带有提交按钮的文本框,当输入特定ID时,我需要将它们重定向到特定站点(脚本中的以下示例为yahoo,bing等)。

这是到目前为止的内容,但是没有显示“提交”按钮,并且当单击“提交”按钮时,它似乎没有执行脚本。

我刚得到一个#?添加到url ...我在opencart中工作,所以我认为部分问题可能与opencart有关。

<html>
<head>
<script>
document.getElementById("gobutton").addEventListener("click", function(event){
event.preventDefault()
var idmap={
REDDIT:"http://reddit.com", 
YAHOO:"http://yahoo.com",
BING:"http://bing.com"
};
id=document.getElementById("siteid").value;
if (id in idmap) {
alert("going to "+idmap[id]);
 window.location.href=idmap[id];
} else {
alert("invalid code ["+id+"]")
}
event.preventDefault()

});
</Script>
</Head>
<Body>

<form id="urllauncher" action='#'>
<label for="siteid">Site id</label>
<input type="text" id="siteid">
<button type="submit" id="gobutton">Go</button>
</form>

</Body>
</Html>

感谢您对此的任何帮助!

达米安·法约尔(Damien Fayol)

您应该在正文末尾添加脚本。

您调用document.getElementById("gobutton").addEventListener得太早了,这时button页面DOM中尚不存在,因此没有任何事件附加到它。

工作代码:

<html>
    <body>
        <form id="urllauncher" action='#'>
            <label for="siteid">Site id</label>
            <input type="text" id="siteid">
            <button type="submit" id="gobutton">Go</button>
        </form>

        <script>
             document.getElementById("gobutton").addEventListener("click", function(event){
                 event.preventDefault()
                 var idmap = {
                    REDDIT:"http://reddit.com", 
                    YAHOO:"http://yahoo.com",
                    BING:"http://bing.com"
                 };
                 var id = document.getElementById("siteid").value;
                 if(id in idmap) {
                     alert("going to "+idmap[id]);
                     window.location.href=idmap[id];
                 } else {
                     alert("invalid code ["+id+"]")
                 }
             });
         </script>
     </body>
 </html>

PS:在发布代码之前,请尝试使其缩进!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档