我是jquery的新手,只是在它的表面上很棒,如果这是一个非常基本的问题我很遗憾,但我的网站上有一个按钮,一旦点击就会将一些数据发布到我的服务器上,我想知道如何提供jquery我想要发布的数据。我已经制作了jquery无刷新表单,但是他们要求用户输入我发布的内容,但现在我想发送一些未在网页上输入或提供的数据。
在我的网站上,如果您想“关注”某个主题,我会点击一下按钮。如果您按照主题我需要将topic_id和您的用户ID发送到我的服务器以启动该过程,但我认为将此放在我的网页上以便捕获jquery会让用户感到困惑(如果我无法传递我计划的变量)做这种方法,但隐藏字段)。 userid / topicid可用于我的模板引擎,但我不确定如何将数据传递给脚本。
以下是我的脚本示例 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获取函数信息?到目前为止,我的所有javascripts都是由点击触发,然后从页面中获取数据..如果我的模板中有一个名为{{user_id}}的变量,我该如何将其传递给脚本,以便当点击触发一个动作然后它会有需要发布的数据吗?
答案 0 :(得分:4)
<input type="button" value="Follow" id="btnFollow" data-topic="topicid" />
$('#btnFollow').click(function() {
var topic_id = $(this).attr('data-topic');
alert(topic_id);
});
答案 1 :(得分: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方面。
答案 2 :(得分: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
});