提交 FormData 而不使用 Ajax

5

我有一个用来注册用户的HTML表单。我正在录制WebCam的视频文件,并且需要与表单一起上传这个视频文件。

这是我的代码(它运行得很好):

$("#registration-form").submit(function(event) {
    event.preventDefault();

    var recordedBlob = recordRTC.getBlob();
    var file = new File([recordedBlob], 'filename.webm', {
        type: 'video/webm'
    });
    var formElement = document.getElementById("registration-form");
    var formData = new FormData(formElement);
    formData.append('appbundle_participant[videoFile][file]', file);

    $.ajax({
        url: '',
        data: formData,
        processData: false,
        contentType: false,
        type: 'POST',
        success: function(data) {
            // do some stuff
        }
    });
});

是否有可能用Javascript提交表单,但行为方式与提交按钮的点击相同?所以...没有成功或错误函数,只是去下一页,这是Web服务器返回的。 非常感谢。


你不想使用 AJAX 有什么原因吗? - Terry
主要原因是如果表单没有错误,服务器会进行重定向,我无法控制。这样做的原因是答案是整个HTML页面,使用JQuery重新加载整个页面非常麻烦...希望这很清楚。 - onda47
你不能在 jqXHR.done() 中执行 window.location = '...' 吗? - Terry
这不是一个好的解决方案,因为如果表单中有错误,就没有重定向。 - onda47
1个回答

0

看看这篇文章,你可能会找到你需要的提交表单数据

或者你可以使用以下方法提交表单

document.getElementById("myForm").submit();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接