Hi, I created this "box" where the 1% creator code is automatically written, but to apply it the person needs to press enter "inside the box". Is it possible to put it automatically sent without having to press send?
I managed to set it to be pressed automatically but now it's as if it were doing it in a loop. it only have to do it once. Do you know how to do it?
<form id="creatorCodeForm" method="post" action="/creator-code/add">
<div class="input-group">
<input type="text" class="form-control" id="creatorCodeInput" name="code" placeholder="Enter a creator code" value="1%" {{ basket.creator_code ? 'disabled' }}>
<div class="input-group-append">
{% if basket.creator_code %}
<a href="/creator-code/remove" class="btn btn-danger">Remove</a>
{% else %}
<button type="submit" id="submitButton" class="btn btn-primary">Add</button>
{% endif %}
</div>
</div>
</form>
<script>
// Variabile per tracciare se il form è stato inviato
let formSubmitted = false;
// Funzione che invia il form automaticamente
function autoSubmitForm() {
if (!formSubmitted) {
var inputField = document.getElementById('creatorCodeInput');
if (inputField.value === '1%') {
formSubmitted = true; // Imposta il flag per evitare invii multipli
document.getElementById('creatorCodeForm').submit();
}
}
}
// Disabilita il form per evitare invii multipli
function disableForm(event) {
if (formSubmitted) {
event.preventDefault(); // Previene l'invio del form se è già stato inviato
return;
}
formSubmitted = true; // Imposta il flag per evitare invii multipli
document.getElementById('creatorCodeInput').disabled = true;
document.getElementById('submitButton').disabled = true;
}
// Assicuriamoci che il codice venga eseguito una volta che la pagina è completamente caricata
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('creatorCodeForm').addEventListener('submit', disableForm);
autoSubmitForm();
});
</script>