Scheint, ein Timing-Problem beim Absenden eines Formulars zu haben, dass die submit() nicht sofort ausgeführt wird und die nächsten paar Zeilen Javascript ausgeführt werden, bevor das Formular tatsächlich gesendet wird. Timing-Problem mit form.submit()
var eButtons = document.querySelector("#ContactUs_form #buttons");
function submitForm() {
document.getElementById("ContactUs_form").submit();
\t eButtons.origInnerHtml = eButtons.innerHTML;
\t eButtons.innerHTML = "Saving form...";
}
<form id="ContactUs_form" method="post" action="ContactUs.php" onsubmit="submitForm();">
\t <div id="buttons">
\t \t <input id="btnSubmit" name="btnSubmit" type="submit" value="Submit" class="fLeft">
\t \t <input id="btnReset" name="Reset" type="reset" value="Reset" class="fRight">
\t </div>
</form>
Irgendwelche Ideen, warum legt die() wird das Formular nicht sofort einreichen?
Edit: Sollte ausführlicher erklärt werden, wird das Formular übermittelt, aber nicht sofort. Die eButtons.innerHTML Ersetzung tritt auf, bevor das Formular übergeben wird. Wenn das Formular schließlich gesendet wird, enthält es nicht $ _POST ("btnSubmit"), was es tun sollte.
Ich glaube, Sie das Formular 2 mal einreichen (entfernen document.getElementById („ContactUs_form“) einreichen();. innerhalb submitForm Funktion) –
was erwarten Sie zu sehen, wenn das Formular abgeschickt wird? – andi
Sie tun nichts, um die natürliche Unterwerfung des Formulars zu verhindern. – j08691