Comment effacer le contenu d'un champ de saisie de type text ?

cs_sneezy Messages postés 15 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 16 novembre 2012 - 28 juil. 2009 à 17:01
cs_sneezy Messages postés 15 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 16 novembre 2012 - 29 juil. 2009 à 00:20
Bonjour à tous, et d'avance merci de votre aide.

Débutant en programmation JS, je suis face à un problème que je n'arrive pas à résoudre.

Voici donc un tout petit exemple de ce problème qui consiste à effacer le contenu d'un champ de saisie de type text.

Le problème se situe à la ligne 64 du code de la page HTML juste après mon commentaire.

Merci de vos commentaires avisés.

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <title>JS : Control a Randomized Number</title>
6 </head>
7
8
9 <label>
10
11 </label>
12
13


14
15 Entrez le chiffre affiché ci-dessus :
16
17


18
19 <label>
20
21
22 </label>
23


24
25 <label>
26
27
28 </label>
29


30 <script type="text/javascript" language="javascript" >
31 var my_number_saved = "" ;
32
33 function randomized_number() {
34 var new_number = Math.floor(Math.random() * 10) ;
35 document.getElementById("my_number").innerHTML = new_number ;
36 save_input(new_number) ;
37 }
38
39 function save_input(new_number) {
40 my_number_saved = new_number ;
41 }
42
43 function control_input() {
44 var new_input = document.getElementById("my_input").value ;
45 if (new_input) {
46 if (new_input.toString() == my_number_saved) {
47 document.getElementById("answer").innerHTML = "C'est le bon chiffre."
48 }
49 else {
50 document.getElementById("answer").innerHTML = "Vous avez entré un mauvais chiffre !"
51 }
52 }
53 else {
54 document.getElementById("answer").innerHTML = "Vous n'avez pas saisi de chiffre !"
55 }
56 }
57
58 function eraze() {
59 document.getElementById("my_number").innerHTML = "";
60 document.getElementById("answer").innerHTML = "";
61 /* cette dernière instruction ne fonctionne pas !
62 Y a-t'il une autre solution pour effacer le contenu du champ texte de la ligne 16 (input type="text" maxlength="1" name="my_input" id="my_input" tabindex="1")
63 Merci d'avance. */
64 document.getElementById("my_input").innerHTML.value = "";
65 }
66 </script>
67
68 </html>

PS: Par ailleurs, je suis à la recherche d'un vrai, bon et complet ouvrage sur JS et AJAX qui présente non seulement
TOUTES les fonctions de ces langages, mais aussi les propriétés de tous les objets (exemple: quelles sont les propriétés
des champs de saisie en fonction de leur type, comment y accéder, comment les modifier, etc...).

Merci encore.

Sneezy.


Shorter is the day, longer is the night! Silence helps me to think!

2 réponses

cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
28 juil. 2009 à 17:36
Bonjour,

my_input est un champ de type texte, remplace document.getElementById("my_input").innerHTML.value ""; par document.getElementById("my_input").value ""; et ça devrait rouler

bonne journée
0
cs_sneezy Messages postés 15 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 16 novembre 2012
29 juil. 2009 à 00:20
Merci beaucoup "47", non seulement pour votre réponse parfaitement adéquate, mais aussi pourl e si court délai à corriger mon erreur.

Cela m'amène à reposer la question de mon post scriptum : Connaissez-vous un ouvrage de référence JS, AJAX (et manifestement aussi DOM) qui présente l'intégralité des objets, leurs méthodes et leurs attributs et si possible avec des exemples d'utilisation.

Par exemple, je possède aussi bien AJAX, le guide complet 3ème édition de Bruno Cotteau et Nicolas Faugout (Micro Application) et JavaScript et Ajax de Tom Negrino et Dori Smith de la collection Le Programmeur (Campus Presse) mais ces deux ouvrages sont totalement incomplets pour ne pas dire presque inutiles.

Par exemple, où puis-je apprendre qu'un champ de type texte se modifie de telle façon, qu'un champ de type fichier est (à priori en lecture seule), que la méthode de modification d'un champ texte est (document.getElementById("my_input").value string; ) et non pas (document.getElementById("my_input").innerHTML.value string; ), etc. etc. etc. et ce pour l'ensemble des objets.

Si une telle bible existe, je l'achète tout de suite.

Merci encore de votre aide.

Shorter is the day, longer is the night! Silence helps me to think!
0
Rejoignez-nous