J'ai un formulaire avec plusieurs champs, et chaque fois que l'utilisateur modifie un champ le formulaire est soumis (via iframe caché), et la réponse est placée dans un div approprié sur la page via un rappel. La première fois cela fonctionne bien. Mais à chaque changement de champ et soumission subséquent, la réponse est montrée dans chaque div qui a été rempli avec une réponse (ainsi ils montrent tous la même chose, pas le comportement désiré).jQuery selector "memory"
Quelqu'un peut-il me dire pourquoi cela se produit? Il semble qu'il y ait une certaine rétention des sélecteurs qui ont été appelés avant (depuis le chargement de la dernière page) ... mais je ne suis pas sûr. Voici mon code:
$(function()
{
$('#ImageAddForm input').change(function(){
form = $('#ImageAddForm');
var fldDiv = $(this).parent().attr('id'); // eg Image11
var thDiv = fldDiv.replace('Image', 'Thumb'); // eg Thumb11
$(form).iframePostForm({
post : function(){
var msg = 'Uploading file...';
$("#" + thDiv).html(msg);
},
complete : function (response){
$("#" + thDiv).html(response);
$(':input', '#ImageAddForm').not(':hidden').val('');
}
});
form.submit();
});
});
BTW, c'est le script que j'appelle http://www.jainaewen.com/files/javascript/jquery/iframe-post-form/ – bjudson