3

私はjqueryに非常に慣れていないので、その素晴らしさの表面を引っ張っているだけなので、これが本当に基本的な質問である場合は申し訳ありませんが、クリックするとサーバーにデータを投稿するボタンがサイトにあり、jqueryを提供する方法を考えています掲載したいデータと一緒に。私はjqueryのリフレッシュレスフォームを作成しましたが、投稿したものをユーザーが入力する必要がありましたが、Webページで入力または利用できないデータを送信したいと考えています。

私のサイトには、トピックを「フォロー」したい場合にクリックするボタンがあります。トピックをフォローする場合は、topic_id とユーザー ID をサーバーに送信してプロセスを開始する必要がありますが、これを Web ページに配置して jquery でキャプチャすると、ユーザーが混乱する可能性があると思います (変数を渡すことができない場合は、このアプローチを行いますが、フィールドを非表示にします)。ユーザー ID/トピック ID はテンプレート エンジンで利用できますが、データをスクリプトに渡す方法がわかりません。

これが私のスクリプトhtmlの例です:

<input type='button' value='Follow' id='btnFollow'>

follow.js:

$(document).ready(function () {
    $('#btnFollow').click(function() {
        //$("#btnFollow").prop('value', 'Following');
        if ($(this).val() == 'Follow') {
            $("#btnFollow").prop('value', 'Following')      
        } else if ($(this).val() == 'Following') {
            $("#btnFollow").prop('value', 'Follow') 
            $.ajax({
                type: 'POST',
                url: '/follow_modification',
                async: true,
                data: {
                    fe1: "test"
                },
                complete: function(xmlRequestObject, successString){
                    ymmReceiveAjaxResponse(xmlRequestObject, successString);
                }
            });
        }
    })
});

HTMLから関数に情報を取得するにはどうすればよいですか? これまでのところ、すべての JavaScript はクリックによってトリガーされ、ページからデータを取得しています。テンプレートに {{ user_id }} という変数がある場合、それをスクリプトに渡すにはどうすればよいですか。投稿に必要なデータはありますか?

4

3 に答える 3

4

<input type="button" value="Follow" id="btnFollow" data-topic="topicid" />

$('#btnFollow').click(function() {
    var topic_id = $(this).attr('data-topic');
    alert(topic_id);
});
于 2012-07-24T00:59:32.447 に答える
3
<input type='button' value='Follow {{user-id}}' id='btnFollow' data-user="{{user-id}}">

html側で、そして

$(document).ready(function () {
$('#btnFollow').click(function() {
    var following = $(this).attr("data-user");
    if ($(this).val() == 'Follow') {
        $("#btnFollow").prop('value', 'Following')      
    } else if ($(this).val() == 'Following') {
        $("#btnFollow").prop('value', 'Follow') 
        $.ajax({
            type: 'POST',
            url: '/follow_modification',
            async: true,
            data: {
                fe1: following
            },
            complete: function(xmlRequestObject, successString){
                ymmReceiveAjaxResponse(xmlRequestObject, successString);
            }
        });
    }
})
});

js側。

于 2012-07-24T01:09:11.207 に答える
0
$(document).ready((function ( data ) {
    // do some thing with somevalue
})( somevalue ));

また

$(document).ready(function (  ) {
    var data = $('someSelector').val()
    // do some thing with somevalue
});

また

var data = 'some value';
$(document).ready(function (  ) {
    // do some thing with somevalue
});
于 2012-07-24T00:48:17.853 に答える