2010-03-23 5 views
0

Nouveau sur JQuery, j'ai ajouté le code JQuery ci-dessous et l'ai déplacé dans mon code et maintenant ça ne marchera pas J'ai oublié ce que j'ai fait, quelqu'un peut réparer mon code en plaçant le code ci-dessous à sa place.Problème de code JQuery?

$('a').click(function() { 
    $('#changes-saved').remove(); 
}); 
    return false; // prevent normal submit 
}); 

Code JQuery.

$(function() { 
    $('#changes-saved').hide(); 
    $('.save-button').click(function() { 
     $.post($('#contact-form').attr('action'), $('#contact-form').serialize(), function(html) { 
      $('div.contact-info-form').html(html); 
      $('#changes-saved').append('Changes saved!').show().pause(1000).hide(); 
     }); 
     return false; // prevent normal submit 
    }); 

    $('a').click(function() { 
     $('#changes-saved').remove(); 
    }); 
     return false; // prevent normal submit 
    }); 
}); 

Répondre

0

Pour éviter <a> de se propager dans le navigateur.

$('a').click(function (event) { 
    if (!event) event = window.event; 
    if (event.preventDefault) 
     event.preventDefault(); 
    else 
     event.returnValue = false; 


    $('#changes-saved').remove(); 

    //In case the event propagation didn't work....(mostly dumb IE) 
    return false; // prevent normal submit 
}); 

À partir de votre code, il suffit fixer

$(function() { 
    $('#changes-saved').hide(); 
    $('.save-button').click(function() { 
     $.post($('#contact-form').attr('action'), $('#contact-form').serialize(), function(html) { 
      $('div.contact-info-form').html(html); 
      $('#changes-saved').append('Changes saved!').show().pause(1000).hide(); 
     }); 
     return false; // prevent normal submit 
    }); 
    $('a').click(function() { 
     $('#changes-saved').remove(); 
     return false; // prevent normal submit 
    }); 
    }); 
}); 
1

Il ressemble à une pâte supplémentaire résultant en un rendement supplémentaire et bloc de fermeture, il suffit de retirer ce à la fin:

return false; // prevent normal submit 
}); 
0

Est-ce ce que vous vouliez? Avait un )}; supplémentaire à la fin et return false; n'était pas à l'intérieur de la fonction gestionnaire d'événements de clic.

$(function() { 
    $('#changes-saved').hide(); 

    $('.save-button').click(function() { 
     $.post(
      $('#contact-form').attr('action'), 
      $('#contact-form').serialize(), 
      function(html) { 
       $('div.contact-info-form').html(html); 
       $('#changes-saved').append('Changes saved!') 
        .show().pause(1000).hide(); 
      } 
     ); 

     return false; // prevent normal submit 
    }); 

    $('a').click(function() { 
     $('#changes-saved').remove(); 

     return false; // prevent normal submit 
    }); 
});