2009-04-12 6 views
0

Hier ist mein Problem: ich einen wählbaren Raster von divs, diejQuery: Aktion als Formular wird gesendet?

einzigartiger Kategorie IDs gebunden werden könnte ich wahrscheinlich das Gitter neu schreiben versteckte Eingänge zu verwenden, wie sie ausgewählt werden, aber es ist ein wenig für das Ende .

Da das Formular abgeschickt wird (Standardform .. keine Ajax), habe ich die ausgewählten IDs in eine Variable sammeln will .. Dieser Code unten funktioniert, wenn ich mit einer Standard-Taste und Alarm-Box-Test:

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

aber wie kann ich dieses Feuer machen, wie der Submit-Button angeklickt wird? Ich nehme an, dass parentUID in eine versteckte Formulareingabe eingefügt wird und irgendeine Art von Verzögerungsfunktion benutzt ??

Vielen Dank für Ihre Antworten!

Antwort

2

Wie wäre:

$(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

Dank !! Ich war mir über das Submit-Event nicht einmal bewusst. – stunnaman

+0

Kein Problem. Froh, dass ich helfen konnte! –

0

Sie können auf dem Formular verwenden onSubmit und Funktion GetParentUIDs() aufrufen, mit dem Code, den Sie haben, sowie Speicherung IDs in dem verborgenen Bereich. Ihre GetParentUIDs müssen true zurückgeben, damit das Formular gesendet werden kann.

Beispiel

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