<textarea name="inputField" id="inputField" tabindex="1" rows="2" cols="40"onblur="DoBlur(this);" onfocus="DoFocus(this);" ></textarea>
<input class="submitButton inact" name="submit" type="submit" value="update" disabled="disabled" />
<input name="status_id" type="hidden">
javascript(jquery):
function insertParamIntoField(anchor, param, field) {
var query = anchor.search.substring(1, anchor.search.length).split('&');
for(var i = 0, kv; i < query.length; i++) {
kv = query[i].split('=', 2);
if (kv[0] == param) {
field.value = kv[1];
return;
}
}
}
$(function () {
$("a.reply").click(function (e) {
console.log("clicked");
insertParamIntoField(this,"status_id",$("#status_id"));
insertParamIntoField(this, "replyto", $("#inputField")[0]);
$("#inputField").focus()
$("#inputField").val($("#inputField").val() + ' ');
e.preventDefault();
return false; // prevent default action
});
});
没有传递status_id参数:
post.php?reply_to=@muna&status_id=345667
它总是给出零值,当它意味着给出345667
答案 0 :(得分:0)
您在该字段上没有id
,因此当您尝试使用$('#status_id')
设置值时,它不会将值放在任何位置。
将ID添加到字段中:
<input name="status_id" id="status_id" type="hidden">
答案 1 :(得分:0)
为输入添加值
<input name="status_id" id="status_id" value="345667" type="hidden">
答案 2 :(得分:0)
你有两个问题,第一个@Guffa提到,你需要$("#status_id")
的ID才能工作,如下:
<input id="status_id" name="status_id" type="hidden">
另一个在这里:
insertParamIntoField(this,"status_id",$("#status_id"));
insertParamIntoField(this, "replyto", $("#inputField")[0]);
请注意,那里没有[0]
,因此您在jQuery对象上设置.value
,而不是元素本身。相反,你需要这个:
insertParamIntoField(this,"status_id",$("#status_id")[0]);
insertParamIntoField(this, "replyto", $("#inputField")[0]);
或者更改您的方法以使用.val()
,如下所示:
field.val(kv[1]);
然后剥离[0]
来电,这样他们只是
insertParamIntoField(this,"status_id",$("#status_id"));
insertParamIntoField(this, "replyto", $("#inputField"));