ajaxSubmit(obj)方法是jQuery的一个插件jquery.form.js里面的方法,所以使用此方法需要先引入这个插件。如下所示:
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="http://malsup.github.io/jquery.form.js"></script>
由于我的是上传文件提交form表单,请求方法放在action里面,我从后台返回的是一个String。
<div class="form layer-form" id="importForm">
<div class="title">导入</div>
<form action="/wfdl/uploadWfdl" method="post" enctype="multipart/form-data">
<div class="item">
<div class="txt">选择文件</div>
<div class="cnt">
<input type="file" class="ipt" name="filename" data-rule="required" />
</div>
</div>
<div class="buttons" style="padding:20px 0;">
<a href="javascript:void(0)" onclick="downloadTemplate()" class="ubtn ubtn-gray" target="_blank">下载模板</a>
<button type="button" class="ubtn ubtn-blue layer-close">关闭</button>
<button type="submit" class="ubtn ubtn-blue submit" style="width:120px;">确定</button>
</div>
</form>
</div>
js代码可以直接写,data就是我从后台返回的字符串,返回后直接提示:
$importForm.validator({
valid: function(form) {
$(form).ajaxSubmit({
success: function(data) {
layer.alert(data);
}
});
}
});
这样就解决了,我form表单提交时不知道怎么回调的问题,这种方式最起码以后提交了命令,可以返回消息告知请求失败还是成功,不会又搞其他一堆的样式,搞提示框什么的。