1

我在为我的按钮提供正确的 window.location.href 值时遇到问题。只是为了让您知道这是在所有页面上动态完成的。所以我想要它做的是转到驻留在他们当前所在的当前模块控制器中的 addnew 函数。例如说用户在标题模块(文件夹)和标题控制器中我希望它转到titles(module)/titles(controller)/addnew(method),但这只是一个例子。它适用于这个例子但是说我去一个不同的页面说titleStatuses控制器在titles模块里面,如果我点击同一个按钮,它会去titles(module)/titles (控制器)/addnew(方法)。

$('.addnew').append('<button>Add New</button>').css('float', 'right').css('margin', '5px 0 0 10px').css('padding-right', '10px');
$('.addnew button').css('width', '100px').click(function() {
    window.location.href = 'addnew';
    return false;
});
4

2 回答 2

2

试试这个:

window.location.href = window.location.href+'addnew';

链接上的 href 值将添加到现有 URL,这似乎是您正在尝试做的事情。但是,通过 Javascript 设置 URL 时,“addnew”与“/addnew”相同,即与“http://domain.com/addnew”相同。

使用上面的方法(假定 URL 末尾有一个斜杠)将 addnew 函数附加到当前 URL 的其余部分。

于 2012-04-25T21:04:57.803 回答
0

我通常在我的标题中有一个脚本,它允许我在 JavaScript中使用URL 辅助函数。您当然需要加载帮助程序。

<script>
    var base_url = <?=base_url()?>
    var current_url = <?=current_url()?>
</script>

对于您的特定 jQuery 函数,您可以将click事件绑定到:

$('.addnew button').css('width', '100px').click(function() {
    window.location.href = current_url + '/addnew'; /* or something similar */
    return false;
});
于 2012-04-25T21:37:33.917 回答