我有一个功能,从提交#uploadform
表格enctype="multipart/form-data"
开始。问题在于,当提交此表单时,我运行另一个函数,该函数向文档发送post请求并接收信息。我希望使用初始表单#uploadform
提交此信息,但似乎此表单调用在表单提交后发生,因此值不会被添加。 #progress_key
已成功添加到表单中,因为它在post调用之前发生。任何人对此都有任何想法吗?
$('#uploadform').submit(function(){
beginUpload();
}
function beginUpload() {
$('#progress_key').val(rand_id);
$.ajax({
type: "POST",
url: "progressbar/initial.php",
data: 'data,
dataType: 'json',
success: function(response, statusText) {
if(response.error == '') {
vid_id=response.vid_id;
file_name=response.file_name;
$('#file_name').val(vid_id);
$('#vid_id').val(file_name);
}
}
});
}
答案 0 :(得分:3)
要做到这一点,并避免发出同步ajax请求,你可以从提交处理程序返回false,如下所示:
$('#uploadform').submit(function(){
beginUpload();
$(this).unbind('submit');
return false;
}
然后在你的ajax调用的成功函数结束时提交它:
$('#uploadform').submit();