Ce document affiche la structure JavaScript de ce document qui contient un formulaire. C'est la partie correspondant aux instructions suivantes :
function dump_props(obj, obj_name) {
var result= "", i= "";
for( i in obj)
result += obj_name + "." + i + " = "
+ obj[i] + "<br>\n";
return result;
}
document.write("<h2> Structure de <tt> document </tt><hr></h2>");
document.write(dump_props(document,"document"));
document.write("<h2> Structure de <tt> location </tt><hr></h2>");
document.write(dump_props(location,"location"));
document.write("<h2> Structure de <tt> history </tt><hr></h2>");
document.write(dump_props(history,"history"));
document.write("<h2> Structure du formulaire<hr></h2>");
document.write(dump_props(document.myform,"document.myform"));
document.write("<h3> Description du champ de saisie<hr></h3>");
document.write(dump_props(document.myform.text1,"document.myform.text1"));
document.write("<h3> Description de la case a cocher<hr></h3>");
document.write(dump_props(document.myform.Check1,"document.myform.Check1"));
document.write("<h3> Description du bouton<hr></h3>");
document.write(dump_props(document.myform.Button1,"document.myform.Button1"));
Ce qui est important ici est le texte affiché à la suite du formulaire. Le code source de cette page n'est donnée qu'à titre d'exemple de programmation.
<head>
<TITLE>Exemple de document</TITLE>
<script>
function dump_props(obj, obj_name) {
var result= "", i= "";
for( i in obj)
result += obj_name + "." + i + " = "
+ obj[i] + "<br>\n";
return result;
}
function ValidateButton(form,varname) {
var doc="";
doc += dump_props(form,varname);
CreateMsgWindow("titre",400,150,doc);
}
function FormProc() {
var doc="";
doc += "<h2> Structure de <tt> document </tt><hr></h2>";
doc += dump_props(document,"document");
doc += "<h2> Structure de <tt> location </tt><hr></h2>";
doc += dump_props(location,"location");
doc += "<h2> Structure de <tt> history </tt><hr></h2>";
doc += dump_props(history,"history");
doc += "<h2> Structure du formulaire<hr></h2>";
doc += dump_props(document.myform,"document.myform");
doc += "<h3> Description du champ de saisie<hr></h3>";
doc += dump_props(document.myform.text1,"document.myform.text1");
doc += "<h3> Description de la case a cocher<hr></h3>";
doc += dump_props(document.myform.Check1,"document.myform.Check1");
doc += "<h3> Description du bouton<hr></h3>";
doc += dump_props(document.myform.Button1,"document.myform.Button1");
CreateMsgWindow("titre",400,150,doc);
}
function CreateMsgWindow(Title,Width,Height,doc) {
var htmlpage= " ";
var win_opt= "toolbar=0,location=0,directories=0,status=0,menubar=0,";
win_opt += "scrollbars=0,resizable=0,copyhistory=0,";
win_opt += "width=" + Width + ",height=" + Height;
// Creation de la fenetre
NewWindow= window.open("","Title",win_opt);
// Creation de la propriete creator permettant de referencer
// la fenetre source
NewWindow.creator= self;
// Generation du contenu de la page
NewWindow.document.open();
htmlpage += "<HTML><HEAD><TITLE>" + Title + "</TITLE></HEAD><BODY>";
htmlpage += doc;
htmlpage += "<HR><FORM><CENTER>"
htmlpage += "<INPUT TYPE='button' VALUE=' Close ' " +
"onClick='window.close()'>"
htmlpage += "</CENTER></FORM>";
htmlpage += "</BODY></HTML>";
NewWindow.document.write(htmlpage);
NewWindow.document.close();
}
</script>
</head>
<BODY>
<FORM NAME="myform" onSubmit="FormProc()">
<CENTER><TABLE>
<TR> <TD>Saisissez une chaine:
<TD> <INPUT TYPE=text NAME="text1"
VALUE="blabla" SIZE=20 >
<TR> <TD>Option a valider:
<TD><INPUT TYPE="checkbox" NAME="Check1" CHECKED
onClick="ValidateButton(this.form.Check1,'document.myform.Check1')"> Option
#1
<TD><INPUT TYPE="checkbox" NAME="Check2"
onClick="ValidateButton(this.form.Check2,'document.myform.Check2')"> Option
#2
<TR> <TD>Boutons
<TD><INPUT TYPE="button" NAME="Button1" VALUE="Bouton1"
onClick="ValidateButton(this.form.Button1,'document.myform.Button1')">
</TABLE>
<hr>
<INPUT TYPE="submit" VALUE="Validez le formulaire">
</CENTER></FORM>
<HR>
<script>
document.write("<h2> Structure de <tt> document </tt><hr></h2>");
document.write(dump_props(document,"document"));
document.write("<h2> Structure de <tt> location </tt><hr></h2>");
document.write(dump_props(location,"location"));
document.write("<h2> Structure de <tt> history </tt><hr></h2>");
document.write(dump_props(history,"history"));
document.write("<h2> Structure du formulaire<hr></h2>");
document.write(dump_props(document.myform,"document.myform"));
document.write("<h3> Description du champ de saisie<hr></h3>");
document.write(dump_props(document.myform.text1,"document.myform.text1"));
document.write("<h3> Description de la case a cocher<hr></h3>");
document.write(dump_props(document.myform.Check1,"document.myform.Check1"));
document.write("<h3> Description du bouton<hr></h3>");
document.write(dump_props(document.myform.Button1,"document.myform.Button1"));
</script>
</BODY>