【问题标题】:How to update a form and submit using jquery and ajax如何使用 jquery 和 ajax 更新表单并提交
【发布时间】:2014-09-02 08:49:53
【问题描述】:

我正在尝试使用 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 真的很陌生,我想知道我哪里出错了。感谢您的帮助。

【问题讨论】:

标签: javascript jquery ajax forms


【解决方案1】:

试试这个,可能会有帮助

<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>

【讨论】:

  • 谢谢..但请记住我在表单上有其他字段,如何验证文件字段之外的其他字段?
  • @Akwasi 首先,请告诉我答案中的代码是否有效。你有客户端验证还是服务器端验证??
  • 它真的不适合我的要求,我正在客户端进行验证
  • @Akwasi 那么问题出在哪里,在 $.ajax 方法上方调用您的验证代码
猜你喜欢
  • 1970-01-01
  • 2010-09-30
  • 2014-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多