最近的一个项目涉及到多文件上传,同时还不让用Form表单提交其他数据。蛋疼...
想到一个办法就是,先用ajax提交数据,然后返回数据库的id主键(mysql数据库),然后再js回调函数中进行表单文件的提交。
在网上找了一下Form表单的方法。手动提交为第三种方法,如下:
action1:<form action = "提交的地址"><input type="submit" value="提交"></form>
action2:<form action = "提交的地址"><input type="button" value="提交" οnclick="this.form.submit()"></form>
action3:<form id="form1" action="提交的地址">
<input type="hidden" value="" name="id" id="fileId"><input type="file" value="" name="file1">
</form>
<script>
$.ajax({
url : "",type:"post",dataTyp : "json",
success:function(json){
document.getElementById('fileId').val=json.id;
document.getElementById('form1').submit();
}
})
</script>
备注:代码为手敲,没有进行测试,只是表达一下主要的流程意思,多多包涵。
其中最后一种比较灵活,比如说出发事件的可以不是一个按钮,而是一个超链接或者图片之类的元素。<a οnclick="document.getElementById('form1').submit();">提交</a>