当您点击按钮时,我正在尝试将我的位置从'currentUrl'更改为'currentUrl / somePage.html'。
重要的是代码不依赖于具有硬编码的URL。相反,它应该抓取用户所在的当前URL并将“/somePage.html”的值附加到其末尾。
我做了一些查找,发现window.location.href将返回我当前的url位置,而window.location会将我重定向到一个新的。但是,当我尝试将这些放在一起时,当我点击我的按钮时,我得到一个“函数未定义”错误。
我的代码看起来像这样......
HTML:
<button class="btn btn-default" onclick="redirectToPage()">Some Page</button>
JS:
$(function () {
function redirectToPage() {
var url = window.location.href;
window.location(url + "/somePage.html");
}
});
你们都是美丽的人!谢谢你的帮助!
答案 0 :(得分:4)
如果您要使用jQuery,那么您应该使用它的所有功能:
(我永远不会推荐内联javascript)
HTML:
<button class="btn btn-default js-do-redirect">Some Page</button>
jQuery的:
$(document).ready(function(){
$('.js-do-redirect').on('click', function(){
var url = window.location.href;
window.location = url + "/somePage.html";
});
});
或者如果你想让它可重复使用:
HTML:
<button class="btn btn-default js-do-redirect" data-redirect-to="/somePage.html">
Some Page
</button>
jQuery的:
$(document).ready(function(){
$('.js-do-redirect').on('click', function(){
var url = window.location.href;
var page = $(this).data('redirect-to');
window.location = url + page;
});
});
答案 1 :(得分:1)
你很亲密。 window.location不是一个函数,而是一个属性。
function redirectToPage() {
var url = window.location.href;
window.location = url + "/somePage.html";
}
答案 2 :(得分:0)
redirectToPage
仅在处理函数的范围内定义。你需要将它移到外面。
答案 3 :(得分:0)
你的问题是范围界定。
删除$(function(){})
jQuery闭包或使用jQuery在$('#someid').click()按钮上创建onClick事件。