javascript - 如何使用 jquery 和 ajax 更新表单并提交

标签 javascript jquery ajax forms

我正在尝试使用 Ajax 提交表单,但我的表单包含一个文件字段和一个文本字段。文件字段失败,但文本字段工作

表格

<form id="page" enctype="multipart/form-data" >
    <input type="text" name="text" id="text">
    <input type="file" name="image" id ="image">
    <button>Submit</button>
</form>

提交的 JS 脚本

$('#page').validate({
    rules: {
        image:{
            required: true
        },
        text:{
            required: true
        }
    },
    messages: {
        image: {
            required: "required"
        },
        text: {
            required: "required"
        }
    },

    submitHandler : function(){                     
        $.ajax({  
            type: "POST",
            cache:false,  
            url: "finish.html",  
            data: $('#page').serialize(),
            success: function(data) {  
                alert(data);  

            } 

    });
});

我对 javascript 和 jquery 很陌生,我想知道我哪里出了问题。感谢您的帮助。

最佳答案

试试这个,可能会有所帮助

<input type="file" name="fileToUpload" id="fileToUpload" />
<input type="button" value="Save" onclick="savepic()" /> 
                      //you can also use event listeners instead of onclick

jQuery 代码

<script type = "text/javascript">
    function savepic() {
        //can perform client side field required checking for "fileToUpload" field
        $.ajaxFileUpload({
            url: 'doajaxfileupload.php',
            secureuri: false,
            fileElementId: 'fileToUpload',
            dataType: 'json',
            success: function(data, status) {
                if (typeof(data.error) != 'undefined') {
                    if (data.error != '') {
                        alert(data.error);
                    } else {
                        alert(msg); // returns location of uploaded file
                    }
                }
            },
            error: function(data, status, e) {
                alert(e);
            }
        })
        return false;
} 
</script>

关于javascript - 如何使用 jquery 和 ajax 更新表单并提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25619401/

相关文章:

javascript - 第一次点击不会触发 css()

javascript - 发送前修改 jQuery 请求 header

javascript - 如何获取 FullCalendar 中所有事件的 ID

javascript - Emacs + js2-模式 : disable indenting completely?

javascript - 如何在滑动面板中制作嵌套列表?

Jquery Preloader 停止在 IE 上工作

javascript - jquery ajax 内部循环返回 statusText 错误,在 IE 中一定时间后状态为 0

jquery - 为什么我无法从 jQuery 加载方法加载外部资源?

javascript - jquery.form 和跨域请求

javascript - 在 Google Spreadsheet Gadget 中,如何写入电子表格?