日期:2014-05-16  浏览次数:20816 次

怎样用ajax提交表单,来代替form表单,求详细代码,本人不会ajax
怎样用ajax提交表单,来代替form表单,求详细代码,本人不会ajax。原来用form表单做,用submit提交。现在得用ajax提交了。求详细代码
------解决方案--------------------
<form id="form1">
<div id="subDiv"></div>
</form>
<script>
   $(function(){
    $("#subDiv").click(function(){
       $("#form1").submit();
    });
});
</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] );
        }
    }
});