11521 sujets

JavaScript, DOM et API Web HTML5

Pages :
  <script type="text/javascript">
 
document.getElementById('CardName').addEventListener('input', function (e) {
  e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
});
 
      </script>


Dans ma page de saisie ?
oué.. enfin, là où tu veux... dans ton fichier script.js si tu en as un.

T'a jamais utilisé de JavaScript ?
Modifié par JENCAL (23 Feb 2018 - 14:25)
Si mais là je suis en prod et je tiens pas à planter le truc. Je ne suis pas sûr de moi en plus.

Dans mon fichier Paiement.php, j'appel le fichier Script.js pour qu'il me claque les espaces ?
Modifié par Tintin75 (23 Feb 2018 - 14:29)
sinon tu le met avec ton jquery là.. celui du début.. juste au dessus..

suffit juste de le mettre en vrac, c'est un listener..
Modifié par JENCAL (23 Feb 2018 - 14:29)
 <link rel="stylesheet" href="../Dist/css/bootstrap.css">
    <script type="text/javascript">
 
document.getElementById('CardName').addEventListener('input', function (e) {
  e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
});
       </script>  
    <script src="../Js/jquery-3.2.1.min.js"></script>
Je galère avec avec la fonction listener dans mon input Smiley bawling .

J'ai pigé le truc, on claque un bout de JS et on appel le Js par une écoute.
Modifié par Tintin75 (23 Feb 2018 - 14:55)
Tu galère par rapport à quoi ?

je COMPRENDS pas...

Tu as bien partagé du code JQUERY au début ??
Il est bien quelque part dans tes fichier ce code JQUERY !
Met le code listener au dessus c'est tout lol
Tu le met en vrac, HORS d'une fonction et voila..
 <link rel="stylesheet" href="../Dist/css/bootstrap.css">
    <script type="text/javascript">
 
document.getElementById('CardName').addEventListener('input', function (e) {
  e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
});
       </script>  
    <script src="../Js/jquery-3.2.1.min.js"></script>


Je tape mon n° et il y a pas d'espace automatique.

<fieldset>
              <label for="CardCode"><span class="underline">N° de carte</span>&nbsp;: &nbsp;</label>
              <input type="text" class="center size_120" id="CardCode" name="CardCode">
              <span id="jq-CardCodeReturn"></span>
              <input type="text" id="CardName" name="CardName" value="" autocomplete="off" hidden>
            </fieldset>


Là il faut rajouter un truc ?

Ces 2 codes sont sur la même page.
Modifié par Tintin75 (23 Feb 2018 - 15:03)
Normal, je connais pas ton html par coeur,

CardName c'est ton input HIDDEN,
tu aurais du changer le CardName dans :

document.getElementById('CardName')


Et mettre l'ID de ton vrai input de saisi.
  <script type="text/javascript">
          document.getElementById('CardCode').addEventListener('input', function (e) {
          e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
          });
       </script>


Oui, j'avais vue la coquille, j'ai corrigé.

CardCode ou CardName ?

Le champ input c'est CardCode. Pour que ça contrôle, j'ai besoin d'un CardCode.

Mon code est full CardCode dans le .js et dans l'input. On doit pas être loin à mon avis.
Modifié par Tintin75 (23 Feb 2018 - 15:22)
Ca fonctionne dans ton test comme je veux. Moi pas idiot moi descendre du singe, moi si vouloir manger banane, moi doit réussir
Dan mon <head>
<link rel="stylesheet" href="../Dist/css/bootstrap.css">
   <script type="text/javascript">
     document.getElementById('CardCode').addEventListener('input', function (e) {
  e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
});
       </script>
    <script src="../Js/jquery-3.2.1.min.js"></script>


Aucun espace dans la saisie, punaise ça m'énerve !!! Smiley fache
Modifié par Tintin75 (23 Feb 2018 - 15:37)
normal.. les scripts ne se mettent généralement pas dans le head...
Modifié par JENCAL (23 Feb 2018 - 15:43)
 <script type="text/javascript">
     document.getElementById('CardCode').addEventListener('input', function (e) {
  e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
});
       </script>
            <fieldset>
              <label for="CardCode"><span class="underline">N° de carte</span>&nbsp;: &nbsp;</label>
              <input type="text" class="center size_120" id="CardCode" name="CardCode">
              <span id="jq-CardCodeReturn"></span>
              <input type="text" id="CardName" name="CardName" value="" autocomplete="off" hidden>
            </fieldset>
NOn toujours pas....

alors règle simple :

Sois tu mets ton <script> à la fin de ton body comme ça t'es sur que ton HTML est bien CHARGER et que ton javascript peut fonctionner avec des élements éxsitants.
Sois tu mets un
document.ready()..
Pages :