我有一个功能强大的 AJAX 帖子,效果很好。我的客户请求了一个额外的文本输入字段,而对于我的生活,我无法得到它。脚本很长,所以我会给你相关的部分,希望这是一个语法问题。
我的输入的 HTML:
<input type="text" name="why" id="why" maxlength="70">
Javascript 调用
$(document).on("click", ".take-claim-link", function(){
var id= $(this).attr('data-id');
var point= $(this).attr('data-point');
var val= $(this).attr('data-val');
var type = $(this).attr('data-type');
var why = $("#why").val();
var follow = document.getElementById("follow-" + id + "-"+ type);
var followuser='0';
if (follow.checked) {
var followuser = "1";
}
var takeurl = '/api/responseClaim.json';
var newPrice ='';
var newData = $.ajax({
type: "POST",
url: takeurl,
dataType: "json",
data: { point: point, claimId: id, type: val,why: why,follow: followuser }
})
(etc).
它不返回任何“为什么”。
有趣的是:如果我将变量更改为var why = 'sample why';
它通过。同样,如果我将输入更改为<input type="text" name="why" id="why" maxlength="70" value="some value">
它会读取它。所以我认为问题在于我定义它的方式。
但是什么?我也试过var why = $("input#why").val();
了document.getElementById("why").value;