2009-04-12 8 views
0

Voici mon problème: J'ai une grille sélectionnable années div qui sont liés à des ID de catégorie uniquesjQuery: une action est-elle en cours de soumission?

Je pourrais probablement re-écrire la grille pour utiliser les entrées cachées car ils sont sélectionnés, mais il est un peu tard pour ça .

Comme le formulaire est soumis (formulaire standard .. pas ajax), je veux rassembler les identifiants sélectionnés dans une variable .. ce code ci-dessous fonctionne quand je test avec un bouton standard et boîte d'alerte:

parentUID = ""; 
$('.cat_grid').each(function() { 
    cat_parent = $(this).parent(); 
    if (cat_parent.attr('class')=="on") { 
    parentUID += $(this).attr('id')+";"; 
    } 
}); 

mais comment puis-je faire ce feu lorsque le bouton Soumettre est cliqué? Je suppose que l'insertion de parentUID dans une entrée de forme cachée et en utilisant une sorte de fonction de retard ??

Merci pour toutes les réponses!

Répondre

2

Que diriez-vous:

$(form).submit(function() { 
    var parentUID = ""; 
    $('.cat_grid').each(function() { 
    cat_parent = $(this).parent(); 
    if (cat_parent.attr('class')=="on") { 
    parentUID += $(this).attr('id')+";"; 
    } 
    }); 
    $(hiddenInput).val(parentUID); 
    //don't return false because we wan't the form to be submitted 
}); 
+0

merci !! Je n'étais même pas au courant de l'événement de soumission. – stunnaman

+0

Pas de problème. Heureux d'avoir pu aider! –

0

Vous pouvez utiliser onSubmit sur le formulaire et appelez GetParentUIDs fonction() avec le code que vous avez, plus le stockage des ID dans le champ caché. Votre GetParentUIDs doit renvoyer true pour le formulaire à soumettre.

Exemple

<form name="yourform" action="youraction" method="post" onsubmit="return GetParentUIDs();"> 
Questions connexes