我有一個功能強大的AJAX帖子,效果很好。我的客戶請求了額外的文本輸入字段,而對於我來說,我無法得到它。腳本很長,所以我會給你相關的部分,希望它是一個語法問題。將文本輸入值發佈到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;
請確保你沒有任何其他元素與'爲什麼'作爲'ID' –
是的,當然。我是個白癡。謝謝。 – dilettante