动态链接未正确定向

时间:2012-04-25 20:35:22

标签: jquery codeigniter

我遇到了一个问题,我的按钮的window.location.href值正确。只是让你知道这是在所有页面上动态完成的事情。所以我想要它做的是转到它们当前所在的当前模块控制器中的addnew函数。比如说用户在titles模块(文件夹)和titles控制器中我想要它转到标题(模块)/标题(控制器)/ addnew(方法),但这只是一个例子。它适用于这个例子但是说我去了一个不同的页面说titleStatuses控制器里面的标题模块woudld是标题(模块)/ titleStatuses(控制器)如果我点击相同的按钮它woudl去标题(模块)/标题(控制器)/的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;
});

2 个答案:

答案 0 :(得分:2)

试试这个:

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

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

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

答案 1 :(得分:0)

我的标题中通常有一个脚本,允许我在JavaScript中使用URL helper函数。你当然需要加载助手。

<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;
});