我有这样的输入类型文本
<input type="text" id="test" value="">
我有这样的ajax post功能。
$(document).ready(function() {
$('#summernote').summernote({
height: 300, // set editor height
minHeight: null, // set minimum height of editor
maxHeight: null, // set maximum height of editor
focus: true, // set focus to editable area after initializing summernote
callbacks: {
onImageUpload: function(files) {
sendFile(files[0]);
}
}
});
function sendFile(file, editor, welEditable) {
document.getElementById("loading_upload_threads_image").style.display = "block";
data = new FormData();
data.append("file", file);//You can append as many data as you want. Check mozilla docs for this
$.ajax({
data: data,
type: "POST",
url: "threads_image_upload.php",
cache: false,
contentType: false,
processData: false,
success: function(url) {
$('#summernote').summernote('editor.insertImage', url);
document.getElementById("loading_upload_threads_image").style.display = "none";
}
});
}
});
我想知道如何将价值从id="test"
发送到我的ajax帖子?
答案 0 :(得分:4)
您可以使用append()
方法将所需的任何数据添加到FormData
对象中 - 正如您的评论事件所示。试试这个:
data = new FormData();
data.append("file", file);
data.append('test', $('#test').val());
或者,如果要发送表单中的所有数据,则可以向form
构造函数提供FormData
元素。请注意,这些项目将以input
的名称作为键。
var data = new FormData($('form')[0]);
答案 1 :(得分:2)
你可以这样做:
HTML代码:
<input type="text" id="test" value="">
JS代码:
data = new FormData();
data.append("file", file);
data.append("test", $('#test').val());
$.ajax({
data: data,
type: "POST",
url: "threads_image_upload.php",
cache: false,
contentType: false,
processData: false,
success: function(url) {
$('#summernote').summernote('editor.insertImage', url);
document.getElementById("loading_upload_threads_image").style.display = "none";
}
});
在PHP中,您可以访问它:
$test = $_POST['test'];
希望这有帮助!