jQuery .submit() im dialog() - .submit is not a function
Patrick Sch.
- javascript
0 Patrick Sch.0 Patrick Sch.0 entropie
Hallo allerseits,
ich bin nicht besonders fit in JS und jQuery, habe mir inzwischen aber manches angeeignet und hake meist nur noch an "kleinen" Verständnisproblemen.
Hintergrund...
Ich möchte in einer Auflistung eine Löschbestätigung der einzelnen Objekte einarbeiten. Auf einer Seite, wo es nur um die Bestätigung einer Abfrage geht, funktioniert meine Anpassung einwandfrei. Die serverseitigen Prüfungen abseits von JS / jQuery sind ebenfalls kein Thema.
Funktionierend:
$('#BestaetigungsFormular').bind('submit', function(evt){
var CHECKED = $('.delcheck').is(':checked');
if (CHECKED == true) {
$form = this;
evt.preventDefault();
$('.outputBoxOK').dialog({
width: 600,
height: 242,
modal: true,
resizable: true,
buttons: [
{
text: "Ja, ich bin mir sicher",
class: 'submit okay',
click: function() {
$form.submit();
}
},
{
text: "« abbrechen",
class: 'submit abbruch',
click: function() {
$(this).dialog("close");
}
}
]
});
}
});
Da ich hier mit einer vorher eindeutig bekannten ID arbeiten kann, ist dies kein Problem gewesen. Bei meiner Aufgabe muss ich jedoch zunächst die ID herausfinden, was soweit auch klappt. Doch der Teil $form bzw. $form.submit(); macht mir hierbei Probleme / Verständnisschwierigkeiten. Laut Console enthält $form das form-Tag insich ... also <form action="xyz" id="abc">, usw.
Das hier ist meine aktuelle Testversion der neuen Dialogbox (aufgrund der Auflistung und unbekannter ID, zunächst die Erkennung über die Klasse, dann Rückschluss auf das Formular.
$('.miniSubmit.delete').click(function (evt) {
var formID = $(this).parent('form').attr('id');
console.log(formID);
$form = $('#'+ formID);
console.log($form);
evt.preventDefault();
$('#'+ formID +' .outputBoxOK').dialog({
autoOpen: true,
width: 600,
height: 242,
modal: true,
resizable: true,
buttons: [
{
text: "Ja, ich bin mir sicher",
class: 'submit okay',
click: function() {
$(this).dialog('close');
formID.submit();
}
},
{
text: "« abbrechen",
class: 'submit abbruch',
click: function() {
$(this).dialog('destroy');
}
}
]
});
});
Leider weiß ich nicht wie man den Teil vor .submit() (oben $form, unten derzeit (falsch) formID) nennt, so dass auch meine letzten Stunden an Lösungssuche nur bedingt erfolgreich waren.
Frage: Wie bekomme ich im unteren Beispiel den Inhalt des form-Tags heraus? und wie nennt man diesen Teil vor .submit()?
Gruß Patrick
Die ID wird korrekt
Ich habe nun nach ewigem Probieren einen Weg gefunden, um den form-Tag-String herauszufinden und zu übergeben. Ergebnis ist das Selbe. Ergo $form oben enthält zwar den form-Tag als String, aber das allein ist es nicht.
Ich bin für jedes Stichwort dankbar, das mich näher zur Lösung bringt. Danke.
Lösung gefunden...
formID.submit();
hat einfach
$('#'+ formID).submit();
lauten müssen.
Ich bin mir zwar sicher, dass ich das vorher über einen Variablenweg bereits probiert hatte, aber scheinbar hat es da aufgrund eines anderen Fehlers gehakt. nun funktioniert alles, wie es soll. :-)
Lösung gefunden...
formID.submit();
hat einfach
$('#'+ formID).submit();
lauten müssen.
Spasseshalber... Funktioniert denn $(formID).submit()
/entropie