1

ボタンの正しい window.location.href 値に問題が発生しています。これはすべてのページで動的に行われるものであることを知っておいてください。したがって、私がやりたいことは、現在のモジュールコントローラーにある addnew 関数に移動することです。たとえば、ユーザーがタイトルモジュール (フォルダー) にいて、タイトルコントローラーにいるとします。 titles(module)/titles(controller)/addnew(method) に移動しますが、これは単なる例です。この例では機能しますが、同じボタンをクリックすると titles(module)/titles に移動すると、titles(module)/titleStatuses(controller) になる titles モジュール内の titleStatuses コントローラーと言う別のページに移動するとします。 (コントローラ)/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

I usually have a script in my header which allows me to use the URL helper functions in JavaScript. You'll of course need the helper loaded.

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

For your specific jQuery function, you can bind the click event with:

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