Lecture d'un text dans un code javascript à partir de HTML
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
le code html de mon formulaire est le suivant
<form action="test_faire.php" method="GET"> <input type="hidden" name="code_article" value="" id="code_article"> <input type="hidden" name="code_credit" value="<?php echo $code_credit?>"> <input type="hidden" name="code_bs" value="<?php echo $code_bs?>"> <table> <tr> <td valign="top"> <div ><b>Trouver: </b> <input autofocus tabindex ="1" type="text" id="article_id" name="article" onkeyup="autocompletBS()" autocomplete=off required="required" > <ul id="article_div"></ul> </div> <td valign="top"> <input type="number" min="1" value="1" id="q" name="quantite" tabindex ="2" autocomplete=off size="3" step="1"> <td valign="top"> <input type="image" value="Ajouter " src="ajouter_rose.jpg" height="30" width="30"> </table> </form>
d'autre part le code javascrip dans le meme fichier php qui s'appelle test.php est le suivant:
<script type="text/javascript"> function autocompletBS() { confirm(); var keyword = $('#article_id').val(); confirm(); $.ajax({ url: 'ajax_refresh_code_barre.php', type: 'POST', data: {keyword:keyword}, success:function(data){ $('#article_div').show(); $('#article_div').html(data); } }); } function set_item4(item) { // change input value $('#article_id').val(item); // hide proposition list $('#country_list_id_bs_credit').hide(); } </script>
cette page ne fonctionne pas comme je veux, pour cela j'ai pensé à executer des messageBox dans le code javascript pour connaitre l’état de mes variable, j'ai découvert quelque chose bizare; le code ne s'execute pas après la ligne var keyword = $('#article_id').val(); car un seul messageBox a apparu lorsque je tape le clavier!!!!
svp aider moi çà comprendre mon problème.
Windows / Firefox 108.0
- Lecture d'un text dans un code javascript à partir de HTML
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Lecture qr code pc - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
2 réponses
Bonjour,
Déjà, au lieu de mettre des "confirm" , utilises des console.log
ça évitera que le programme ne se stoppe.
Ensuite, gère les éventuelles erreurs de l'appel AJAX
En gros
function autocompletBS() { var keyword = $('#article_id').val(); console.log('keyword',keyword); $.ajax({ url: 'ajax_refresh_code_barre.php', type: 'POST', data: {keyword:keyword}, success:function(data){ $('#article_div').show(); $('#article_div').html(data); }, error:function(err){ console.log('ERREUR',err); } }); } function set_item4(item) { // change input value $('#article_id').val(item); // hide proposition list $('#country_list_id_bs_credit').hide(); }
Et puis, pense à regarder dans la console de ton navigateur ( après avoir activé le débugage du XHR (ou xmlhttprequest selon que tu utilises firefox (que je te recommande pour tes tests..) ou google chrome )
(tu peux aussi utiliser l'onglet "réseau" de la console du navigateur pour voir les appels ajax...
Maintenant, si ton but est de faire un autocomplete .. pourquoi ne pas utiliser celui de jquery ui ?
https://jqueryui.com/autocomplete/
Salut, j'ai remarqué ceci:
$('#article_id').val(item);
Alors que la méthode JQUERY .val n'accepte pas de paramètres comme dit dans la doc:
Ne serait il pas plus simple d'utiliser du pur JavaScript ici?
document.getElementById('article_id').value=''+item //-- ou le mieux un mix des 2 parce que le sélecteur JQUERY est plus rapide à écrire $('#article_id').value=''+item //-- en JQUERY complétement mais bon on gagne pas grand chose: $('#article_id').attr('value', ''+item)
Il est indispensable d'utiliser la console du navigateur, ne serait ce que pour voir les erreurs, et des console.log pour vérifier les valeurs quand on en a besoin.