javascript tome xx - inputs && outputs

Transcription

javascript tome xx - inputs && outputs
Inputs && Outputs
en
J AVA S C R I P T (Programmation Internet) V O L . V
Pour Débutant
J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga
+243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818
La dernière révision de ce texte est disponible sur CD.
CHAPITRE 9 : LES TROIS BOÎTES DE DIALOGUE :
L’objet window comporte trois méthodes pour les messages et dialogues :
alert("message") : ne retourne rien (undefined) ;
confirm("message") : retourne boolean ; et
prompt("message", val_init) ; retourne la valeur saisie.
Boîtes de saisie : essentiellement l’élément input.
Ceci c’est sans oublier le « document . write ( ) » pour l’affichage
simple.
Remarque :
Tous les éléments HTML peuvent servir de déclencheurs d’événement.
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
CHAPITRE 10 : LES VALEURS DE SAISIE :
Toutes les données sont saisies comme chaînes de caractères.
Si la boîte de saisie contient quelque chose, JS affiche son contenu.
si elle est vide, JS affiche une chaîne vide.
Si la boîte de saisie contient quelque chose, l’évaluation de sa négation
(!id) dans JS donnera la valeur logique false.
si elle est vide, l’évaluation de sa négation (!id) dans JS donnera la valeur logique true.
<input
id=i1
onblur="cl(value)
,
cl(!value)"
ue="input1_cointent">
<input id=i2 onblur="cl(value) , cl(!value)">
val-
<script type="text/javascript">
cl=console.log
iv1=document.getElementById('i1').value
iv2=document.getElementById('i2').value
cl("Affichage des input")
cl(iv1) // Affiche contenu de iv1
cl(!iv1) // Négation logique de iv1
cl(iv2) // Affiche contenu de iv2
cl(!iv2) // Négation logique de iv2
cl("Affichage de prompt puis !prompt")
cl(prompt("Tapez qqc")) // Affiche Input de prompt
cl(!prompt("Ne tapez rien")) // Négation logique
prompot
</script>
Exécution dans la console :
Inputs && Outputs
2 / 21
jeudi, 4. avril 2019
de
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Affichage des input
input1_cointent
false
this.html:9
this.html:10
this.html:11
this.html:12
true
this.html:13
Affichage des typeof input
this.html:15
string
this.html:16
boolean
this.html:17
string
this.html:18
boolean
this.html:19
Affichage de prompt puis !prompt this.html:21
dias
this.html:22
true
this.html:23
Affichage de typeof prompt puis !prompt
this.html:25
string
this.html:26
boolean
this.html:27
luy
this.html:1
false
this.html:1
this.html:2
true
this.html:2
Donc pour tester si une variable, un argument ou un champ de saisie est
vide, au lieu d’écrire de longues instructions, comme :
Pour un champ souhaité texte :
if (x == undefined || x == null || x == "")
il suffit d’écrire :
if(!x)...
et pour éviter une confusion si la valeur est zéro, on ajoute :
if (!x && x != 0)
Inputs && Outputs
3 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Pour affecter une valeur par défaut à un paramètre au cas où la fonction
appelante n’a pas envoyé d’argument, on peut écrire :
<script>
function f(x, y) {
console.log(x || 50);
console.log(y || "dummy");
}
f(25);
</script>
Exécution :
25
dummy
Inputs && Outputs
this.html:3
this.html:4
4 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
CHAPITRE 11 : AFFICHAGE DES OUTPUTS :
Quelques techniques pour afficher un output :
window.alert() ou alert() : Boîte de dialogue avec un message.
console.log : Écrit dans la console (poste/pupitre de dialogue)
.innerHTML : Écrit directement dans un élément fermé.
.innerTEXT : Écrit directement dans un élément fermé.
.outerHTML : Écrit sur un élément fermé.
.text : Écrit directement dans une option fermée.
.textContent : Écrit directement dans une option fermée.
.value : écrit dans la valeur d’un élément < input >.
document.write() = write() : Écrit dans le document qui a le focus.
<script type="text/javascript">
function f(){
var v=document.getElementById("idiv").tagName;
var nd=window.open();
window.alert("Avec window.alert() = "+v);
alert("Avec alert() = "+v);
document.getElementById("idiv").innerHTML=
"Avec getElementById() ds DIV = "+v
console.log("Avec console.log = "+v);
nd.document.write("Avec nd.document.write() = "+v);
}
</script>
<body onload="f()"><div id="idiv"></div></body>
Exécution :
Avec
Avec
Avec
Avec
Avec
window.alert() = DIV
alert() = DIV
getElementById() ds DIV = DIV
console.log = DIV
nd.document.write() = DIV
Inputs && Outputs
5 / 21
outputs.html:9:3
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
Inputs && Outputs
JavaScript Tome-V
6 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
CHAPITRE 7 : LES MÉTHODES « GET… » dont « GETELEMENT... » :
getElementsByTagName("input");
getElementsByName("nrad");
getElementsByTagNameNS();
getElementsByClassName("dummy");
getElementById("irad");
getSelection();
<script>
function f(p) {
console.log(p);
tmp="";
t=document.getElementsByTagName("input");
n=document.getElementsByName("nrad");
c=document.getElementsByClassName("dummy");
i=document.getElementById("irad");
}
f("...CHARGEMENT EN COURS");
d();
function d(){
nL=n.length; // Accès à t, n, c et i de f()
console.log("n"+n+" * n.length="+nL)
for(k=0;k<nL;k++){
console.log("==> n[k].name="+n[k].name+
" * n[k].id="+n[k].id);
console.log("c[k].className="+
c[k].className+"t[k].tagName="+
t[k].tagName);
v = n[k].value; // Les value des input
tmp+=v+", "; // tmp="" définie dans f()
}
console.log(tmp);
}
</script>
<body onload='f("...Depuis BODY")' onclick="d()">
Inputs && Outputs
7 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
<input type=radio name="nrad"
id="irad1" class="dummy" value="Un">
<input type=radio name="nrad"
id="irad2" class="dummy" value="Deux">
<input type=radio name="nrad"
id="irad3" class="dummy" value="Trois">
<button><===Cliquez un bouton ou ici</button>
</body>
Exécution :
...CHARGEMENT EN COURS
n[object NodeList] * n.length=0
...Depuis BODY
n[object NodeList] * n.length=3
==> n[k].name=nrad * n[k].id=irad1
c[k].className=dummyt[k].tagName=INPUT
==> n[k].name=nrad * n[k].id=irad2
c[k].className=dummyt[k].tagName=INPUT
==> n[k].name=nrad * n[k].id=irad3
c[k].className=dummyt[k].tagName=INPUT
Un, Deux, Trois,
Inputs && Outputs
8 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
CHAPITRE 9 : LES TROIS BOÎTES DE DIALOGUE :
L’objet window comporte trois méthodes pour les boîtes de dialogue :
alert("message") : ne retourne rien (undefined) ;
confirm("message") : retourne boolean ; et
prompt("message", val_init) ; retourne la valeur saisie.
Boîtes de saisie : essentiellement l’élément input.
Remarque :
Tous les éléments HTML peuvent servir de déclencheurs d’événement.
CHAPITRE 10 : LES VALEURS DE SAISIE :
Toutes les données sont saisies comme chaînes de caractères.
Si la boîte de saisie contient quelque chose, JS affiche son contenu.
si elle est vide, JS affiche une chaîne vide.
Si la boîte de saisie contient quelque chose, l’évaluation de sa négation
(!id) dans JS donnera la valeur logique false.
si elle est vide, l’évaluation de sa négation (!id) dans JS donnera la valeur logique true.
<input
id=i1
onblur="cl(value)
,
cl(!value)"
ue="input1_cointent">
<input id=i2 onblur="cl(value) , cl(!value)">
<script type="text/javascript">
cl=console.log
iv1=document.getElementById('i1').value
iv2=document.getElementById('i2').value
Inputs && Outputs
9 / 21
jeudi, 4. avril 2019
val-
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
cl("Affichage des input")
cl(iv1) // Affiche contenu de iv1
cl(!iv1) // Négation logique de iv1
cl(iv2) // Affiche contenu de iv2
cl(!iv2) // Négation logique de iv2
cl("Affichage de prompt puis !prompt")
cl(prompt("Tapez qqc")) // Affiche Input de prompt
cl(!prompt("Ne tapez rien")) // Négation logique
prompot
</script>
Exécution dans la console :
Affichage des input
input1_cointent
false
this.html:9
this.html:10
this.html:11
this.html:12
true
this.html:13
Affichage des typeof input
this.html:15
string
this.html:16
boolean
this.html:17
string
this.html:18
boolean
this.html:19
Affichage de prompt puis !prompt this.html:21
dias
this.html:22
true
this.html:23
Affichage de typeof prompt puis !prompt
this.html:25
string
this.html:26
boolean
this.html:27
luy
this.html:1
false
this.html:1
this.html:2
true
this.html:2
Inputs && Outputs
10 / 21
jeudi, 4. avril 2019
de
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Donc pour tester si une variable, un argument ou un champ de saisie est
vide, au lieu d’écrire de longues instructions, comme :
Pour un champ souhaité texte :
if (x == undefined || x == null || x == "")
il suffit d’écrire :
if(!x)...
et pour éviter une confusion si la valeur est zéro, on ajoute :
if (!x && x != 0)
Pour affecter une valeur par défaut à un paramètre au cas où la fonction
appelante n’a pas envoyé d’argument, on peut écrire :
<script>
function f(x, y) {
console.log(x || 50);
console.log(y || "dummy");
}
f(25);
</script>
Exécution :
25
dummy
Inputs && Outputs
this.html:3
this.html:4
11 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Boîtes de saisie
(essentiellement l’élément input).
L’élément INPUT utilise l’attribut « type » pour spécifier le type de donnée attendu dans le champ input. Quelques types sont :
text :
texte sans retour à la ligne
password :
texte sans retour à la ligne, pour une information sensible.
checkbox :
Boîte à cocher (booléen).
radio :
Bouton radio (booléen).
submit :
Envoie le formulaire. Doit être le dernier élément à cliquer.
file :
Fichier arbitraire de type MIME et optionnellement un nom de fichier.
<input type="file" name="nfile" accept="folder/*"
min=0 max=20/>
image :
Coordonnée relative à une taille d’image particulière. Doit être le dernier
élément sélectionné. Soumet aussi le formulaire.
hidden :
Information sensible cachée à l’utilisateur.
Inputs && Outputs
12 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
select :
Valeur énumérée, dont les valeurs sont structurellement gardées ensemble.
select multiple :
Ensemble de zéro ou plusieurs valeurs d’une liste prédéfinie, semblable
au type checkbox, et dont les valeurs sont structurellement gardées ensemble.
textarea :
Champ de saisie de texte, sans restriction de retour à la ligne.
button :
Valeur ébumérée, devant sémantiquement être le dernier élément à sélectionner. Soumet le formulaire comme avec le type submit.
reset :
Réinitialise le formulaire.
Format de saisie ou d’affichage:
datetime :
Date et Heure (an, mois, joury, heure, minute, seconde) en format
[ISO8601] avec fuseau horaire sur UTC.
<input type="datetime" value="2019-02-17T19:33:59Z">
date :
Date (an, mois, jour) format [ISO8601
<input type="date" value="2019-02-17">
Inputs && Outputs
13 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
expdate :
Date avec an et mois format [ISO8601].
<input type=" expdate " value="2019-02">
week :
Date avec an et numéro de la semaine en format [ISO8601.
<input type="week" value="2019-W7">
time :
Heur, minute en format [ISO8601] sans fuseau horaire (time zone).
<input type="time" min="18:00:00" max="20:00:00" value="19:48:00">
number :
Nombre, dans le format « base » suivi de « e » suivi optionnellement de
« l’exposent » :
Base : signe ("-") facultatif, un ou plusieurs entiers décimaux, un point
decimal facultative (".") et une partie fractionnaire décimale.
Inputs && Outputs
14 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Exposent : un autre signe ("-") facultatif, un exposent entier représentant
l’index d’une puissance de 10 qui multipliera la base. Si l’exposent est
omis il est supposé être à zéro.
<input type="number" min="10" max="20" value=12>
range :
<input type="range" min="10" max="20" value=12>
email :
e-mail en format [RFC2822].
<input type="email" value="[email protected]">
tel :
Numéro de telephone en format [RFC2806].
uri :
Une URI en format [RFC2396].
location :
Coordonnée géographique, en deux nombres rationnels (éventuellement
avec le signe négatif : un ou plusieurs chiffres décimaux, un point séparateur, et six autres chiffres décimaux) les deux coordonnées séparées
par une virgule.
Inputs && Outputs
15 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
D’autres attributs de l’élément <form> :
disabled :
maxlength :
S’applique aux types « text », « password » et « file », « email », « tel »,
ou « uri » et les éléments « textarea », ni aux champs de date, heure, et
numerique (seulement aux types « text » et « password » dans HTML4.
name :
readonly :
S’applique aux types « text », « password», « email », « tel », « uri », et
les types relatifs à date, heure, et numérique, et l’élément « textarea ».
Inputs && Outputs
16 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
CHAPITRE 11 : AFFICHAGE DES OUTPUTS :
Quelques techniques pour afficher un output :
window.alert() ou alert() : Boîte de dialogue avec un message.
console.log : Écrit dans la console (poste/pupitre de dialogue)
innerHTML : Écrit directement dans un élément fermé.
document.write() = write() : Écrit dans le document qui a le focus.
<script type="text/javascript">
function f(){
var v=document.getElementById("idiv").tagName;
var nd=window.open();
window.alert("Avec window.alert() = "+v);
alert("Avec alert() = "+v);
document.getElementById("idiv").innerHTML=
"Avec getElementById() ds DIV = "+v
console.log("Avec console.log = "+v);
nd.document.write("Avec nd.document.write() = "+v);
}
</script>
<body onload="f()"><div id="idiv"></div></body>
Exécution :
Avec
Avec
Avec
Avec
Avec
window.alert() = DIV
alert() = DIV
getElementById() ds DIV = DIV
console.log = DIV
nd.document.write() = DIV
outputs.html:9:3
À suivre…
Inputs && Outputs
17 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Kinshasa, le jeudi 4 avril 2019 (10:46:39 PM).
Mots-clés :
getElementsByTagName, getElementsByName, getElementsByTagNameNS, getElementsByClassName, getElementById, getSelection, alert,
confirm, prompt, Boîtes de saisie, input, output, console.log, write,
textContent, text, innerHTML, innerText, outerHTML,
DIASOLUKA Nz. Luyalu
Docteur en Médecine, Chirurgie & Accouchements (1977),
CNOM : 0866 - Spécialiste en ophtalmologie (1980)
Études humanités : Scientifique - Mathématiques & Physique.
Informaticien-amateur, Programmeur et WebMaster.
Chercheur indépendant, autonome et autofinancé,
bénévole, sans aucun conflit d’intérêt ou liens
d'intérêts ou contrainte promotionnelle avec qui
qu’il soit ou quelqu’organisme ou institution /
organisation que ce soit, étatique, paraétatique
ou privé, industriel ou commercial en relation
avec le sujet présenté.
+243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818
[email protected]
Inputs && Outputs
18 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Autre Lecture :
https://www.scribd.com/document/374738470/Le-Plus-Grand-Secret-de-LaCreation
D’autres publications pouvant aussi intéresser :
• https://www.scribd.com/document/377036251/LeDosage-Des-Medicaments-en-Cac-Cas
• https://www.scribd.com/document/377035454/LeHasard-Des-Thermometres-Non-contact-a-Infrarouge
• https://www.scribd.com/document/376222482/PetiteIntroduction-Aux-Fonctions-JavaScript
• https://www.scribd.com/document/376221919/La-Foien-Jesus-Christ-Pour-Quoi-Faire
• https://www.scribd.com/document/375689778/Lacuitevisuelle-angulaire
• https://www.scribd.com/document/375349851/Lavariable-This
•
https://www.scribd.com/document/375024162/FonctionsImbriquees-en-JS
• https://www.scribd.com/document/374789297/FormatInterne-Des-Objets-JavaScript
•
https://www.scribd.com/document/374788758/Iterationsen-JavaScript
Inputs && Outputs
19 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
• https://www.scribd.com/document/374738470/Le-PlusGrand-Secret-de-La-Creation
• https://www.scribd.com/document/374597969/NouvelleFormule-d-IMC-indice-de-doduite-Selon-Dr-Diasoluka
• https://www.scribd.com/document/373847209/PropertyDescriptors
• https://www.scribd.com/document/373833282/l-ObjetGlobal-Window
•
https://www.scribd.com/document/372665249/JavascriptTome-II
• https://www.scribd.com/document/355291488/motiliteoculaire-2
• https://www.scribd.com/document/355291239/motiliteoculaire-I
• https://www.scribd.com/document/355290248/Script-dAnalyses-Des-Reflexes-Pupillomoteurs
•
https://www.scribd.com/document/321168468/Renseigne
ments-Id-et-Anthropometriques
•
https://www.scribd.com/document/320856721/Emission31-Jul-2016
•
https://www.scribd.com/document/318182982/Complicati
on-Visuelle-du-Traitement-de-La-Malaria
• https://www.scribd.com/document/318180637/RapportEntre-Oxymetrie-Et-Type-Respiration
•
Inputs && Outputs
20 / 21
jeudi, 4. avril 2019
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
https://www.scribd.com/document/315746265/Classificati
on-Des-Medicaments
•
https://www.scribd.com/document/315745909/Incongruen
ces-Heresies-et-Heterodoxies-de-la-Notion-deLaboratoire
• https://www.scribd.com/document/315745725/RapportEntre-Oxymetrie-Et-Type-Respiration
Inputs && Outputs
21 / 21
jeudi, 4. avril 2019