Toutes mes excuses si c'est une question simple, car je suis encore très nouveau sur JavaScript. J'ai un script qui valide les entrées utilisateur en vérifiant si le champ de texte est vide. S'il n'est pas vide, une fenêtre de confirmation invite l'utilisateur à s'assurer qu'il souhaite continuer avant d'envoyer le formulaire et de télécharger les informations.

Je voudrais savoir comment utiliser le code ci-dessous ou un code similaire pour valider plusieurs formulaires sur la même page, car actuellement je ne peux le faire fonctionner qu'avec un seul formulaire? J'ai essayé différentes solutions, dont aucune n'a encore réussi. J'ai même essayé de copier / coller l'intégralité du script et de changer les éléments pertinents à l'intérieur.

J'ai supprimé mes modifications du code pour qu'il fonctionne correctement. Comme je l'ai dit, une fois que j'essaie de le réutiliser pour valider plusieurs formulaires, le code cesse de fonctionner correctement.

// Set up event handlers in JavaScript
document.querySelector('form').addEventListener('submit', validationCheck);
document.getElementById('updateEventTitle').addEventListener('keyup', validationCheck);
// Get your DOM references just once, not every time the function runs
let eventTitle = document.getElementById('updateEventTitle');
let btnUpdate = document.getElementById('updateBtn');
function validationCheck(event) {
  if (eventTitle.value === '') {
    btnUpdate.disabled = true;
  } else {
    btnUpdate.disabled = false;
    //Confirmation window
    if (event.type === 'submit') {
      //Confirmation window
      var r = confirm('Do you want to update this item?');
      if (r == true) {
        window.location.href = 'server.php';
      } else {
        event.preventDefault();
      }
    }
  }
}
<form action='editevent.php?updaterow=$iddata' method='POST' id='updateEventTitle'>
  <input type='text' id='updateEventTitle' name='myUpdateEventTitle' size='30' maxlength='40' placeholder='$row[eventName]' required>
  <input class='btn btn-primary btn-sm' type='submit' name='updateEventTitle' value='Update' id='updateBtn' disabled>
</form>
<form action='editevent.php?updaterow=$iddata' method='POST' id='updateEventDate'>
  <input type='text' id='updateEventDate' name='myUpdateEventDate' size='15' maxlength='10' placeholder=$eventDate required/>
  <input class='btn btn-primary btn-sm' type='submit' name='updateEventDate' value='Update' id='updateBtn' disabled>
</form>
<form action='editevent.php?updaterow=$iddata' method='POST' id='updateEventTime'>
  <input type='text' id='updateEventTime' name='myUpdateEventTime' size='15' maxlength='5' placeholder=$eventTime required/>
  <input class='btn btn-primary btn-sm' type='submit' name='updateEventTime' value='Update' id='updateBtn' disabled>
</form>

Je voudrais un script capable de valider n'importe quel HTML form sur la page, pas seulement le premier.

Merci beaucoup.

2
cmc1993 14 janv. 2020 à 13:16