1

こんにちは私はJqueryアドレスプラグインの使い方を学んでいて、 ここでチュートリアルを使っています

これがhtmlです

<a href="test1.html" rel="address:/test1">Test 1</a><br />
<a href="test2.html" rel="address:/test2">Test 2</a>

Load Area: <br />
<div id="area"></div>

そしてここにJqueryコードがあります

function loadURL(url) {
        $("#area").load(url);
    }


    // Event handlers
    $.address.init(function(event))
.change(function(event) {
        $("#area").load($('[rel=address:' + event.value + ']').attr('href'));
    })

    $('a').click(function(){
        loadURL($(this).attr('href'));
    });

これでうまくいきます。ただし、戻るボタンでPOST呼び出しを実行したい。だから私は交換します

$("#area").load($('[rel=address:' + event.value + ']').attr('href'));

var myhref = $('[rel=address:' + event.value + ']').attr('href');
$.post(myhref, function(data) {
        $('#area').html(data);
    });

これにより、コンソールエラー「this.valueは関数ではありません」がスローされます。

Jquery(およびプログラミング全般)に関する私の非常に表面的な知識を考えると、ここで何が間違っているのでしょうか?

4

2 に答える 2

0

ああ、誰かがこれに答えてくれたらいいのに。私は今、このことを1日POSTさせようとしています..それは、見えるものすべてを取得したいだけですが、投稿するために微調整する方法に途方に暮れています.

于 2011-01-03T04:25:09.033 に答える
0
function loadURL(url) {
        $.post(url, function(data){
            $("#area").html(data);
        })
    }


    // Event handlers

    $(document).ready(function(){
        $("a").click(function(e){
            e.preventDefault();
            $.address.value($(this).attr("href"));
            $.post($(this).attr("href"), function(data){
                $("#area").html(data);
            })
            return false;
        })
    })

    $(document).ready(function(){
        $.address.init(function(event) { // Initates the address plugin
        }).externalChange(function(event) { //externalChange is browser back/fwd button/address bar
            if(event.path != "/"){
                loadURL(event.path);
            }
        })
    })
于 2011-01-03T06:10:53.367 に答える