Zitat von
asterix88
Hallo,
ich möchte in einem HTML-Formular einen Submit-Button nach dem ersten Klicken deaktivieren.
hi,
wenn es ein klassischer "Form submit" ist, dann muss man eigentlich auch serverseitig arbeiten oder über Cookies gehen, da der "Form submit" ein Request auslöst der dasselbe oder ein anderes Skript aufruft.
Man arbeitet dann besser zusätzlich mit einem Token der z.B. in der Session gespeichert wird und in der Form als hidden field mitübergeben wird.
Es gibt in JavaScript mehrere Möglichkeiten, z.B. im "onsubmit" der Form oder im "onclick" Handler den Button "disablen" und danach den Request absetzen.
Das Verhalten mit dem Reload kann man so ganz einfach nachvollziehen:
HTML-Code:
<!DOCTYPE html>
<html>
<body>
<form id=form_id>
<input type=button id=submit_btn value="Submit Query" >
<input type=submit id=real_submit_btn >
</form>
</body>
<script>
document.getElementById('submit_btn').onclick = function() {
document.getElementById('submit_btn').disabled = true;
document.getElementById('submit_btn').value = 'working...';
// AJAX Request oder explizit Form submit() etc.
};
// reload and away
document.getElementById('form_id').onsubmit = function() {
alert("real submit");
document.getElementById('real_submit_btn').disabled = true;
document.getElementById('real_submit_btn').value = 'working...';
};
</script>
</html>
Lesezeichen