1
votes

Comment soumettre automatiquement une entrée à une URL si le texte est "13"

Je crée un site Web sur glitch de sorte que lorsque vous tapez "13" dans le champ de saisie, il redirige automatiquement vers une URL.

c'est ce que j'ai et je ne sais pas ce qui ne va pas.

    <form id="myform" action="https://example.com" method="get">
      <input type="text" id="mytext" name="mytext" />
    </form>

    <script>
      var text = document.getElementById("mytext");
      var form = document.getElementById("myform");
      text.onkeyup = function() {
        if (text === "13") {
          form.submit();
        }
      };
    </script>


0 commentaires

4 Réponses :


0
votes

Je pense que cela devrait fonctionner.

let text = document.getElementById("mytext");

text.addEventListener("keyup", function(){
  if (text.value === "13") {
    // Submit Form
  }
});


0 commentaires

1
votes

Vous devez dire text.value

<form id="myform" action="https://example.com" method="get"onsubmit="return validateForm()">
      <input type="text" id="mytext" name="mytext" />
    </form>

   
 var text = document.getElementById("mytext");
var form = document.getElementById("myform");
text.onkeyup = function() {
  if (text.value === "13") {
    form.submit();
  }
};
 function validateForm(){
     if(text.value!="13")
     {return false;}return true;
 }


6 commentaires

il me redirige chaque fois que je mets quelque chose de pas 13 cependant?


J'essaye différents nombres mais cela ne redirige pas. Seulement 13 redirections. Avez-vous essayé l'extrait de code? Ou cela se produit dans votre code?


Si vous cliquez sur Entrée après avoir écrit quelque chose, il vous redirige toujours. Parce que vous êtes dans la balise de formulaire et entrez les incendies soumettre.


oh, comment pourrais-je faire ça? supprimez simplement

?


Voulez-vous empêcher chaque soumission sans 13?


J'ai édité la réponse puis vous mettrez l'événement onsubmit pour former cette vérification si 13 ou non



1
votes

utilisez if (text.value === "13") au lieu de if (text === "13") car le texte fait référence à l'élément d'entrée.

<form id="myform" action="https://example.com" method="get">
      <input type="text" id="mytext" name="mytext" />
    </form>
      var text = document.getElementById("mytext");
      var form = document.getElementById("myform");
      text.onkeyup = function() {
        if (text.value === "13") {
          form.submit();
        }
      };


0 commentaires

0
votes

S'il s'agit d'une méthode get simple, vous pouvez utiliser window.location.href = " https://example.com "; ou window.location.replace (" https://example.com ");

donc ce sera quelque chose comme ça

<input type="text" id="mytext" name="mytext" />
<script>
      var text = document.getElementById("mytext");
      text.onkeyup = function() {
        if (text.value === "13") {
          window.location.href = "https://example.com";
        }
      };
    </script>


0 commentaires