3

我是 jquery 的超级新手,只是了解了它令人敬畏的表面,如果这是一个非常基本的问题,我很抱歉,但我的网站上有一个按钮,一旦点击它就会将一些数据发布到我的服务器,我想知道如何提供 jquery有我想发布的数据。我制作了 jquery 无刷新表单,但他们要求用户输入我发布的内容,但现在我想发送一些网页上未输入或可用的数据。

在我的网站上,如果你想“关注”一个主题,我有一个按钮可以点击。如果您关注某个主题,我需要将 topic_id 和您的用户 ID 发送到我的服务器以启动该过程,但我认为将其放在我的网页上供 jquery 捕获会使用户感到困惑(如果我不能传递我计划的变量执行此方法但隐藏字段)。userid/topicid 可用于我的模板引擎,但我不确定如何将数据传递给脚本。

这是我的脚本 html 的示例:

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

跟随.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 获取信息到函数中?到目前为止,我所有的 javascripts 都是由点击触发的,然后从页面中获取数据。如果我的模板中有一个名为 {{ 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 回答