JS函数不改变地址栏中的URL

时间:2014-08-11 11:33:57

标签: javascript html

我试图设计一个锻炼网站,根据用户选择从数据库返回练习。我正在编写一些测试代码,如果选中“Arms”复选框,则在单击按钮时将更改地址栏中的URL。但是,它似乎没有工作,所以你能提供的任何帮助将不胜感激:

JAVASCRIPT

<script>
function getSelection(){
    if(document.getElementById('armsCheck').is(':checked')){
        window.location.search = "";
        window.location.href = window.location.href + "?bodypart=Arms";
    }else{
        return;
    }
}
</script>

HTML

<form>
<input type="checkbox" id="armsCheck" />Arms<br />
<input type="button" value="Submit" onClick="getSelection()" />
</form>

2 个答案:

答案 0 :(得分:1)

您正在尝试在DOM对象上调用jQuery is()方法,该对象没有。如果您查看浏览器的JavaScript控制台,这将是显而易见的。

检查checked属性。

if(document.getElementById('armsCheck').checked){

同样替换这些行:

window.location.search = "";
window.location.href = window.location.href + "?bodypart=Arms";

使用:

window.location.search = "?bodypart=Arms";

由于第一行会在到达第二行之前触发页面重新加载。


尽管如此,根本不需要涉及JavaScript。您可以使用纯HTML获得相同的效果。

<form>
    <label><input type="checkbox" name="bodypart" value="Arms"> Arms</label>
    <input type="submit" value="Submit">
</form>

答案 1 :(得分:0)

解决了它。 'getSelection()'不是有效的函数名称 - 感谢您的帮助!