Frage zu Jquery UI Dialogbox. Nur Inputfelder des Typs hidden funktionieren

xtramen01

Erfahrenes Mitglied
Hallo,

ich hab mal wieder eine Frage.
Ich möchte mich mal mit Jquery UI beschäftigen und ich finde das auch richtig gut.

Allerdings ist mir aufgefallen das ich in der Dialogbox. Lediglich Inputfelder des Typs hidden verwenden kann.
Alle anderen Felder werden nicht übertragen.

Weis jemand warum das so ist?
Hier mal der Code:

Code:
// Dialog
$("#dialog").dialog({
    	bgiframe: true,
    	autoOpen: false,
    	height: 150,
    	width: 600,
    	modal: true,
    	buttons: {
    		OK: function() {
    	              document.getElementById('form').submit();
    		  $(this).dialog('close');
    		},
    		Abbrechen: function() {
    			$(this).dialog('close');
    		}
    	}
    });
    $('#beleg_sichern').click(function() {
    	$('#dialog').dialog('open');
    });

Und das ist der Layer:

Code:
<!-- ui-dialog -->
<div id="dialog" style="display:none" title="Beleg speichern">
 <p>Soll der Benutzer <strong>"Mustermann"</strong> wirklich gelöscht werden?</p>
   <input name="1" type="hidden" value="geht" />
   <input name="2" type="text" value="geht nicht" />

</div>
Die Formtags sind ausserhalb des Layers.
Wie gesagt, es klappt ja eigentlich auch. Aber lediglich hidden Felder werden übertragen.
Ich möchte aber 3 Checkboxen haben :-(.
Für mich ist das merkwürdig. Oder hat das einen Grund?

Gruss
 
Zuletzt bearbeitet:
Hi,

wenn ich es hier nachstelle und mir den generierten Quellcode (HTML) ansehe, nachdem der Dialog geöffnet ist, befindet sich dieser nicht innerhalb der FORM-Tags. Es werden bei mir demnach überhaupt keine Elemente versendet.

Eventuell schafft es Abhilfe, die Formular-Element, die im Dialog enthalten sind, vor dem Versenden ins Formular einzuhängen.
Code:
  buttons: {
    OK: function() {
      $(this).find("input, textarea").appendTo($('#form'));
      $('#form').submit();
      $(this).dialog('close');
    },
    Abbrechen: function() {
      $(this).dialog('close');
    }
  }
Ciao
Quaese
 
Hi Quaese,

danke für die Info.
Ich Frage mich dann halt, warum das versteckte Feld gesendet wird.
Aber nun gut. Wie ich dich verstehe werden nun alle Formularfelder des Typs input und Textarea im Layer gesucht und an das Formular angehängt welches ich dann mit $('#form').submit(); abschicke.

Wenn das klappen würde wäre das ja genial. Ich probiere es später gleich aus.

Gruss und besten Dank!
 
Zurück