Rippchen/htmls/register_request.html

47 lines
2.1 KiB
HTML

<h2>Request Account</h2>
<div class="error"></div>
<div class="success"></div>
<form id="register-request-form">
Vorname: <input type="text" name="vorname" required><br><br>
Nachname: <input type="text" name="nachname" required><br><br>
Username: <input type="text" name="username" required><br><br>
<input type="submit" value="Request Account">
</form>
<script>
document.getElementById('register-request-form').addEventListener('submit', function(event) {
event.preventDefault();
const formData = new FormData(this);
fetch('../php/register_request.php', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
const errorDiv = document.querySelector('#register-request-form + .error');
const successDiv = document.querySelector('#register-request-form + .error + .success');
if (data.success) {
if (successDiv) {
successDiv.textContent = data.message;
} else {
document.querySelector('#register-request-form').insertAdjacentHTML('afterend', '<p class="success">' + data.message + '</p>');
}
document.getElementById('register-request-form').reset();
} else {
if (errorDiv) {
errorDiv.textContent = data.error;
} else {
document.querySelector('#register-request-form').insertAdjacentHTML('afterend', '<p class="error">' + data.error + '</p>');
}
}
})
.catch(error => {
console.error('Error requesting registration:', error);
const errorDiv = document.querySelector('#register-request-form + .error');
if (errorDiv) {
errorDiv.textContent = 'Failed to request account due to network error.';
} else {
document.querySelector('#register-request-form').insertAdjacentHTML('afterend', '<p class="error">Failed to request account due to network error.</p>');
}
});
});
</script>