Es gibt mehrere Fragen/Antworten zu diesem here, here und here und anderswo, aber sie scheinen alle JQuery spezifisch und erscheinen nicht auf diese anzuwenden (zum Beispiel bin ich NICHT Erstellen eines neuen Formularobjekts, dies ist ein vorhandenes Formular im Dokument.Auch ich bin NICHT mit Jquery überhaupt).Javascript form.submit() nicht in Firefox arbeiten
Ich habe ein Formular, das vor der Einreichung aus Gründen der IE7-Kompatibilität geändert werden muss. Ich muss alle BUTTON
Tags aus meinem Formular entfernen und dann ein verstecktes Feld hinzufügen, aber das ist alles in einem vorhandenen Formular auf der vorhandenen HTML-Seite. Dieser Code funktioniert ordnungsgemäß in IE und Chrome, funktioniert aber nicht in Firefox (Versionen 23 & 24 beide getestet).
buttonClickFunction(formName, buttonObject) {
var formObject = document.forms[formName];
var i = 0;
// Strip out BUTTON objects
for (i=0;i<formObject.length;i++) {
if (formObject[i].tagName === 'BUTTON') {
formObject[i].parentNode.removeChild(formObject[i]);
i--;
}
}
// Create new field
var newField = document.createElement('input');
newField.type = 'hidden';
newField.id=buttonObject.id;
newField.name = buttonObject.name;
if (buttonObject.attributes['value'] != null) {
newField.value = buttonObject.attributes['value'].value;
} else {
newField.value = buttonObject.value;
}
// Submit form
formObject.appendChild(newField);
document.forms[formName].appendChild(newField);
document.forms[formName].submit();
}
Neben dem document.forms[formName].submit()
ich auch formObject.submit()
versucht haben - beide arbeiten in Chrome aber beide nicht in Firefox. Ich bin ratlos, warum das nicht funktioniert - ich habe durch die JS verfolgt und sah, dass document.forms[formName].submit()
ausführen - keine Ausnahme erscheint, aber nichts geht an den Server.
Kann jemand identifizieren, warum Firefox dieses Formular nicht einreicht, und wie ich es beheben kann?
Dies stellte sich als das Problem - Firefox wird anscheinend kein Formular ohne irgendwelche Tasten senden. Nicht sicher, warum das so ist oder ob dies "absichtliches" Verhalten ist. – user3120173
Es ist so seit Ewigkeiten, also wenn das nicht beabsichtigt war, dann hätten sie es wahrscheinlich schon repariert. Der einzige Grund, warum ich das weiß, ist, dass ich einmal ein ähnliches Problem hatte (vor mehr als 2 Jahren: p) – g00glen00b
Vielen Dank - ich hätte das ohne Sie nicht reparieren können. – user3120173