0
votes

Comment désactiver le bouton d'envoi si (http), (https) ou (www) se trouvent dans textarea

J'ai déjà un code que j'ai créé en javascript qui désactive le bouton d'envoi sur un formulaire si un choix de liste déroulante est choisi mais je souhaite également désactiver le bouton d'envoi si la chaîne (http), (https) ou (www ) est saisi dans la zone de texte du formulaire. Toute aide dans la bonne direction serait formidable.


0 commentaires

3 Réponses :


0
votes

Vous pouvez écouter l'événement keyup et vérifier l'entrée lorsque l'événement se déclenche.

Quelque chose comme:

<textarea onkeyup='checkText(this.value);'></textarea>
<button type="submit" id="submit">Submit</button>
let illegalWords = ["http", "https", "www"];

function checkText(text) {
  if (text.length >= 1) {
    for (let word of illegalWords) {
      if (text == word) {
        // word found, remove submit button
        console.log("found");
        document.getElementById("submit").style.display = "none";
      }
    }
  }
}

Vous pouvez ajouter un bloc else à ce code pour faire apparaître le bouton d'envoi (s'il n'est pas actuellement visible) lorsque les mots illégaux sont supprimés.


1 commentaires

Merci pour cette réponse, cela semblait prometteur et fonctionnait dans le "Extrait de code d'exécution", mais une fois implémenté dans ma page, cela ne semble pas fonctionner. Rien ne se passe du tout



0
votes

Essayez ceci

<textarea id="my-textarea"></textarea>

document.querySelector('#my-textarea').addEventListener('input', (event) => {
    if (event.target.value.includes('http') || event.target.value.includes('https') || event.target.value.includes('www')) {
    console.log('invalid');
  } else {
    console.log('valid');
  }
});

Voici l'exemple de violon: https: // jsfiddle. net / 2qorhekd


5 commentaires

merci pour votre réponse, mais cela ne fonctionne pas du tout, j'allais essayer de le faire fonctionner avec ma configuration, puis le modifier à partir de là, mais cela ne fonctionne pas sur le jsfiddle. Peut-être que je manque quelque chose.


Bonjour, vous pouvez réessayer les fiddlejs édités, merci.


J'ai oublié d'ajouter l'objet 'événement' dans la fonction flèche, mais cela fonctionne maintenant. assurez-vous simplement de copier la réponse / le code mis à jour. Merci.


Vous basculez, une fois que je l'ai édité pour empêcher le bouton d'être désactivé, il fonctionne maintenant à 100%. Merci beaucoup!!!


Heureux d'aider mon frère. Merci. :RÉ



0
votes

Fonction pour tester si la chaîne contient http, https ou www

var valid = function(text){
  var regex = /(https?|www)/;
  return !regex.test(text);
}


1 commentaires

Je ne savais pas comment implémenter cela sans contexte au début, mais une fois que je l'ai eu, j'ai vu que cela ne fonctionnerait pas pour ce dont j'avais besoin. Merci pour votre soumission.