怎样用ajax提交表单,来代替form表单
怎样用ajax提交表单,来代替form表单,求详细代码,本人不会ajax。原来用form表单做,用submit提交。现在得用ajax提交了。
<form id="form1"> <div id="subDiv"></div> </form> <script> $(function(){ $("#subDiv").click(function(){ $("#form1").submit(); }); }); </script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> <div id="bnt"> 提交 </div> <script> $(function(){ $('#bnt').click( function(){ $.post('xxurl/xx.xx',{ a:'提交数据', b:'提交数据' },function(data){ alert( data ) }) } ); }) </script>
有文件上传的话 用 jquery.form.js 不须上传的话,就直接jquery.js
不上传: $('#form_id').submit(function(){ $.post($(this).attr('action'),$(this).serialize(),function(json){ //处理代码 },'json'); return false; });
要上传:
//引入jquery.js及jquery.form.js $('#form_id').ajaxSubmit({ dataType:'json', success:function(json){ //处理代码 } }); [code] 注:不须上传也可以用jquery.form.js 的 ajaxSubmit jquery.js的版本会影响jquery.form.js jq版本高于1.4.2要在jquery.form.js中添加一个函数 [code=javascript] //好像是这个 jQuery.extend({ handleError: function( s, xhr, status, e ) { // If a local callback was specified, fire it if ( s.error ) { s.error.call( s.context || s, xhr, status, e ); } // Fire the global callback if ( s.global ) { (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] ); } } });
|