2011-01-25 12 views
3

私は静的なセッションIDを持っています。私はこれをクリックしたときにURLに追加する必要がありますが、それを正しく取得できないようです。あなたがhttp://www.mysite.com/test.phpに行く場合は、リダイレクトされます、私はこれは間違っている知っているセッションID XYXを追加する必要があるので、ページをヒットするための正しいURLはhttp://www.mysite.com/test.php?sessionid=XYXURLにセッションIDが追加されましたjquery

<a href="http://www.mysite.com/test.php" class="foo">link here</a> 

$('.foo').click(function(){ 
    (this).append(?sessionid=XYX');' 
}); 

なり、アイブ氏は、見つかったすべての文書は、はるかに複雑です私の必要よりもありがとう!

+0

私は既に回答を掲載していますが、今私は正しい質問に答えているかどうかわかりません。ページがロードされるとき、またはリンクがクリックされるまでセッションIDを持たせるために 'foo'クラスのすべてのリンクを更新しますか? –

+0

リンクをクリックしたときにURLを追加する必要があります。どうも! –

答えて

5

このセッションIDを追加して、新しいURLにユーザーを送信する必要がありますが、通常のイベントを使用してシステムを停止するe.preventDefaultを使用し、URLにセッションIDを追加し、そこにブラウザを送ります: '?セッションID = XYX' HREFが含まれている場合のonClickとのhrefを変更

<a href="http://www.mysite.com/test.php" class="foo">link here</a> 

$('.foo').click(function(e) 
{ 
    e.preventDefault(); 
    window.location = $(this).attr('href') + '?sessionid=XYX'; 
}); 
+0

thx男、私は完全にe.preventDefault()について忘れてしまった。とても有難い! –

+0

まったく問題ありません。時には見逃しにくい小さなビットがあります。 – Scoobler

+0

@Dirty: 'window.location'を変更したかったのですか? – user113716

0

このショットを投稿してください。

$('.foo').click(function(){ 
    if(!this.search) this.search = '?sessionid=XYX'; 
}); 

プロパティsearchプロパティを使用すると、要素に直接クエリ文字列を設定できます。

+0

検索プロパティに関する文書はありますか?私はそれを以前聞いたことがないし、面白いと思う。 –

+0

@ Surreal:ここに行きます:https://developer.mozilla.org/en/DOM/HTMLAnchorElement Anchor要素のプロパティが一覧表示されます。 'search'プロパティはHTML5としてリストされていますが、私は二重チェックをしなければなりません。私はそれが広く採用されていることをかなり確信していましたし、今は 'innerHTML'のように標準に含まれるかもしれません。 – user113716

1

あなたはこのように、href属性を変更したいと思う:

$('.foo').click(function(){ 
    $(this).attr('href', $(this).attr('href') + '?sessionid=XYX'); 
}); 

私は一瞬のためにこれの実際に懐疑的だった - URLへの変更が影響するつもりだった場合、私はわかりませんでしたリンクの宛先ですが、それはありません。変更が行われ、完了後、デフォルトのアクションが実行され、変更されたリンクがロードされます。ここではデモです: http://jsfiddle.net/Mgv34/

+0

でもこれはうまくいきます。もし私が2つの答えを受け入れることができれば。私は本当に感謝の人に感謝しています。 –

+0

ようこそ。 –

0

を確認せず危険です、リンクの隣のクリックがあなたに "http://www.example.com/test.php?sessionid=XYX?sessionid=XYX"

を与えるので、私は

示唆
$('.foo').click(function(){ 
    var lHref = $(this).attr('href'); 
    var lStr = '?sessionid=XYX'; 
    if (lHref.indexOf(lStr) < 0) { 
    $(this).attr('href', lHref + lStr); 
    } 
}); 
関連する問題