JavaScriptVersion 1.1 zunächst in Netscape 2.0, jetzt auch in MS Internet-Explorer.
Verwendung von JavaScript durch Einbettung in HTML Seiten.
<SCRIPT LANGUAGE="JavaScript">
<!-- to hide script contents from old browsers
... JavaScript ...
// end hiding contents from old browsers -->
</SCRIPT>
Benutzung von JavaScript Funktionen in HTML Tags.
<INPUT TYPE=... VALUE=... onClick="jsfunc('arguments')">
Kurzes Beispiel:
Ausgabe von "Hallo ..." in einer HTML Seite.
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
document.write("Hallo von JavaScript !")
</SCRIPT>
</HEAD>
<BODY>
Das war's auch schon.
</BODY>
</HTML>
Das war's auch schon.
parseInt, parseFloat, eval.
Keine Deklarationspflicht für Variablen.
var x = "Hallo !\n"
Operatoren und Ausdrücke wie in C. y += x--
if (condition) {
statements1 }
[elseif {
statements2}]
for ([initial-expression;] [condition;] [increment-expression]) {
statements
}
while (condition) {
statements
}
for (variable in object) {
statements }
break bzw. continue
objectName.propertyName
this[.propertyName]Konstruktor für Objekte.
function objectType ( param1 [,param2] ...[,paramN] ) {
this.property1 = param1;
...
this.propertyN = paramN;
}
Erzeugen von Objekten.
objectName = new objectType ( param1 [,param2] ...[,paramN] )Methoden und Funktionen.
object.methodname = function_name
object.methodname(params);Beispiel:
function show_props(obj, obj_name) {
var result = ""
for (var i in obj)
result += obj_name + "." + i + " = " + obj[i] + "\n"
return result;
}
Es gibt diverse eingebaute Objekte und Funktionen. Öffnen und schließen von Windows, Alert Meldungen und Confirmations.
Event Handler.
function validate(obj, lowval, hival) {
if ((obj.value < lowval) || (obj.value > hival))
alert("Value must be greater than " + lowval + " and less than " + hival + ".")
}
<INPUT TYPE = "text" NAME = "age" SIZE = 3
onChange="validate(this, 18, 99)">
browser
window
|
+--parent, frames, self, top
|
+--location
|
+--history
|
+--document
|
+--forms
| |
| elements (text fields, textarea, checkbox, password
| radio, select, button, submit, reset)
+--links
|
+--anchors
Beispiel für die Objekte eines Dokuments.
<TITLE>A Simple Document</TITLE>
<BODY>
<FORM NAME="myform" ACTION="FormProc()" METHOD="get" >
Enter a value:
<INPUT TYPE=text NAME="text1" VALUE="blahblah" SIZE=20 >
Check if you want:
<INPUT TYPE="checkbox" NAME="Check1" CHECKED
onClick="update(this.form)"> Option #1
<P>
<INPUT TYPE="button" NAME="Button1" VALUE="Press Me"
onClick="update(this.form)">
</FORM>
</BODY>
Dann sind unter anderem folgende Objekte definiert.
document.title = "A Simple Document" document.myform document.myform.Check1 document.myform.Button1 document.myform.Button1.value = Press Me document.myform.Button1.name = Button1
Feldinhaltsprüfungen in Formularen: <br>
<script language="JavaScript">
<!-- hide from strangers
function checkForm(frm) {
if (frm.my_name.value.length > 0) return true
else {
alert("Please enter your name.")
return false
}
}
//-->
</script>
<form action="http://parallel.rz.uni-mannheim.de/cgi-bin/ex2.cgi"
onSubmit="return checkForm(this)">
Mein Name:
<input type="text" name="my_name" size=20>
<p>
Mein Status:
<input type="radio" name="my_status" value="student">Student
<input type="radio" name="my_status" value="employee" checked>Mitarbeiter
<input type="radio" name="my_status" value="professor">Professor
<p>
<input type="reset" value="Reset"> <input type="submit" value="Send">
</form>
<p>
In diesem Formular werden die Eingaben (hier nur vom Textfeld "my_text") auf Richtigkeit geprüft, bevor die Daten an das CGI-Script ".../ex2.cgi" geschickt werden.