我有这个div
<div class='additional_comments'>
<input type="text" id='additional_comments_box', maxlength="200"/>
</div>
如果jinja使用if语句呈现它,那么它有时只会出现在页面上。
这是我必须发送ajax请求的JavaScript:
$(document).ready(function() {
var button = $("#send");
$(button).click(function() {
var vals = [];
$("#answers :input").each(function(index) {
vals.push($(this).val());
});
vals = JSON.stringify(vals);
console.log(vals);
var comment = $('#additional_comments_box').val();
var url = window.location.pathname;
$.ajax({
method: "POST",
url: url,
data: {
'vals': vals,
'comment': comment,
},
dataType: 'json',
success: function (data) {
location.href = data.url;//<--Redirect on success
}
});
});
});
正如你所看到我得到了注释div,我想在我的ajax请求中将它添加到data
,但是如果它不存在,我该如何阻止它被添加。
由于
答案 0 :(得分:1)
您可以使用.length
属性来检查元素是否存在,因为它填充了对象。
//Define object
var data = {};
//Populate vals
data.vals = $("#answers :input").each(function (index) {
return $(this).val();
});
//Check element exists
var cbox = $('#additional_comments_box');
if (cbox.length){
//Define comment
data.comment = cbox.val();
}
$.ajax({
data: JSON.stringify(data)
});