如何封装一大堆jQuery代码

时间:2010-06-30 07:13:59

标签: jquery

我有一个显示内容的页面,具体取决于是否设置了cookie,其中一些内容会重复,例如某些jQuery代码重复:

$("form#maj_email").submit(function(){
var _data= $(this).serialize()
  $.ajax({
        type: 'POST',
        url: 'validation_profil.php?var=maj_email',
        beforeSend: function(){
$("div#ajax_icon_maj_email").css({background:"url('http://localho/www3/includes/images/ajax_loader.gif')"})


        },
        data:_data,
        success: function(html){
         $('div#error_maj_email').html(html)
  $("div#ajax_icon_maj_email").css({background:"url('none')"})
  if( $("div#error_maj_email").text()=="Email syntaxe incorrecte"){
   $("form#maj_email input:[name=email]").css({border:"1px solid red"})
 }
else{ $("form#maj_email input:[name=email]").css({border:"1px solid gray"})  }

         }
     })

})

所以我想知道是否有办法获取整个代码并使其等于变量?

1 个答案:

答案 0 :(得分:0)

您可以将可重复使用的代码放在函数

function standard_code()
{
  var _data= $(this).serialize()
  $.ajax({
        type: 'POST',
        url: 'validation_profil.php?var=maj_email',
        beforeSend: function(){
$("div#ajax_icon_maj_email").css({background:"url('http://localho/www3/includes/images/ajax_loader.gif')"})


        },
        data:_data,
        success: function(html){
         $('div#error_maj_email').html(html)
  $("div#ajax_icon_maj_email").css({background:"url('none')"})
  if( $("div#error_maj_email").text()=="Email syntaxe incorrecte"){
   $("form#maj_email input:[name=email]").css({border:"1px solid red"})
 }
else{ $("form#maj_email input:[name=email]").css({border:"1px solid gray"})  }

         }
     })

}

然后随时调用

$("form#maj_email").submit(standard_code()) ;