ajax form数据封装,ajax提交整个form表单,ajax 自动获取当前form数据
//form数据封装 function formToString(formObj){ var allStr=""; if(formObj){ var elementsObj=formObj.elements; var obj; if(elementsObj){ for(var i=0; i<elementsObj.length;i+=1){ obj=elementsObj[i]; if(obj.name!=undefined&&obj.name!=""){ allStr+="&"+obj.name+"="+encodeURIComponent(obj.value); } } }else{ alert("没有elements对象!"); return ; } }else{ alert("form不存在!"); return ; } return allStr; }
$.ajax({ type: "POST",url: "/Mall/ajax_cart.html",data: formToString($("#orderform").get(0)),success: function(msg){ $("#allmoney").html("¥"+msg); } });
以上方法有个bug就是radio及checkBox数据得到的结果不正确。
$.ajax({ type: "POST",data: $(form).serializeArray(),dataType: 'json',success: function(msg){ $("#allmoney").html("¥"+msg); } });
终于找到最实用的方法。