您的位置:首页 > Web前端 > JavaScript

将form转为ajax提交的js代码

2015-09-07 09:09 676 查看
参考网络代码基础上进行修改,调试通过。

在html中插入下面的代码:

函数ajaxSubmit是submit的ajax形式。

注意:这里面使用到了jquery库

//<!--将form中的值转换为键值对。-->
function getFormJson(frm) {
var o = {};
var a = $(frm).serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});

return o;
}

//<!--将form转为AJAX提交。-->        
       //<!--fn为返回后的回调函数,可以为空-->
function ajaxSubmit(frm, fn) {
var dataPara = getFormJson(frm);
var ajax_para={};
ajax_para['data']=dataPara;
if (!frm.attr('action') ){
ajax_para['url']=this.location.pathname;
}
else{
ajax_para['url']=frm.attr('action');
}
ajax_para['type']=frm.attr('method');
if (!frm.attr('method')){
ajax_para['type']='GET';
}

if (fn) {
ajax_para['success']=fn;
}
htmlobj=$.ajax(ajax_para);
return htmlobj;
}


在form提交时候调用该插件

将form中submit按钮修改成

<button type="button" class="btn btn-default" onclick="ajaxSubmit($('form'))">submit</button>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: