![]() |
Web Development »
Client side scripting »
Beginners
Beginner
JavaScript For BeginnersBy Nongjian ZhouA very easy tutorial for JavaScript beginners |
Javascript, VC6Win2K, Visual Studio, Dev
|
|
Advanced Search |
|
|
|
||||||||||||||||
Let's first see a simple example:
<html> <head> <title>This is a JavaScript example</title> <script language="JavaScript"> <!-- document.write("Hello World!"); //--> </script> </head> <body> Hi, man! </body> </html>
Usually, JavaScript code starts with the tag <script language="JavaScript">
and ends with the tag </script>. The code placed between <head>
and </head>. Sometimes, people embed the code in the <body>
tags:
<html> <head></head> <body> <script> .....// The code embedded in the <body> tags. </script> </body> </html>
Why do we place JavaScript code inside comment fields <!-- and
//-->? It's for ensuring that the Script is not displayed by
old browsers that do not support JavaScript. This is optional, but
considered good practice. The LANGUAGE attribute also is optional,
but recommended. You may specify a particular version of JavaScript:
<script language="JavaScript1.2">
You can use another attribute SRC to include an external file containing JavaScript code:
<script language="JavaScript" src="hello.js"></script>
For example, shown below is the code of the external file hello.js:
document.write("Hello World!")
The external file is simply a text file containing JavaScript code with the file name extension ".js". Note:
<script language...> and </script>,
or you will get an error message.
In order to output text in JavaScript you must use write()
or writeln(). Here's an example:
<HTML> <HEAD> <TITLE> Welcome to my site</TITLE></HEAD> <BODY> <SCRIPT LANGUAGE="JAVASCRIPT"> <!-- document.write("Welcome to my site!"); // --> </SCRIPT> </BODY> </HTML>
Note: the document object write is in lowercase as JavaScript is
case sensitive. The difference between write and writeln
is: write just outputs a text, writeln outputs the
text and a line break.
The document object is one of the most important objects of JavaScript. Shown below is a very simple JavaScript code:
document.write("Hi there.")
In this code, document is the object. write
is the method of this object. Let's have a look at some of the other
methods that the document object possesses.
<script language="JavaScript"> document.write("This page created by John N. Last update:" + document.lastModified); </script>
All you need to do here is use the lastModified property of the
document. Notice that we used + to put together This
page created by John N. Last update: and document.lastModified.
bgColor
and fgColor:
<script> document.bgColor="black" document.fgColor="#336699" </script>
alert, confirm, and
prompt. Let's look at the first one:
<body> <script> window.alert("Welcome to my site!") </script> </body>
You can put whatever you want inside the quotation marks.
window.confirm("Are you sure you want to quit?")
window.prompt("please enter user name")
In all our examples above, we wrote the box methods as window.alert().
Actually, we could simply write the following instead as:
alert() confirm() prompt()
Let's see an example:
<script> var x=window.confirm("Are you sure you want to quit") if (x) window.alert("Thank you.") else window.alert("Good choice.") </script>
There are several concepts that we should know. First of all, var
x= is a variable declaration. If you want to create a variable,
you must declare the variable using the var statement. x will
get the result, namely, true or false. Then
we use a condition statement if else to give the script
the ability to choose between two paths, depending on this result
(condition for the following action). If the result is true (the user
clicked "ok"), "Thank you" appears in the window box. If the
result is false (the user clicked "cancel"), "Good
choice" appears in the window box instead. So we can make more complex boxes
using var, if and those basic methods.
<script> var y=window.prompt("please enter your name") window.alert(y) </script>
Another example:
<html><head> <script> var x=confirm("Are you sure you want to quit?") if (!x) window.location="http://www.yahoo.com" </script> </head> <body> Welcome to my website!. </body></html>
If you click "cancel", it will take you to yahoo, and clicking
ok will continue with the loading of the current page "Welcome
to my website!". Note:if (!x)means: if click "cancel".
In JavaScript, the exclamation mark ! means: "none".
Functions are chunks of code.Let's create a simple function:
function test()
{
document.write("Hello can you see me?")
}
Note that if only this were within your <script></script>
tags, you will not see "Hello can you see me?" on your
screen because functions are not executed by themselves until you
call upon them. So we should do something:
function test()
{
document.write("Hello can you see me?")
}
test()
Last linetest() calls the function, now you
will see the words "Hello can you see me?".
What are event handlers? They can be considered as triggers that execute JavaScript when something happens, such as click or move your mouse over a link, submit a form etc.
onClick handlers execute something only when users
click on buttons, links, etc. Let's see an example:
<script> function ss() { alert("Thank you!") } </script> <form> <input type="button" value="Click here" onclick="ss()"> </form>
The function ss() is invoked when the user clicks the button. Note:
Event handlers are not added inside the <script> tags, but
rather, inside the html tags.
<body onload="ss()"> <frameset onload="ss()"> <img src="whatever.gif" onload="ss()">
<a href="#" onMouseOver="document.write('Hi, nice to see you!">Over Here!</a> <a href="#" onMouseOut="alert('Good try!')">Get Out Here!</a>
onunload executes JavaScript while someone leaves
the page. For example to thank users.
<body onunload="alert('Thank you for visiting us. See you soon')">
<form> <input type="button" value="Click here!" onClick="alert('Thanks for visiting my site!');window.location='http://www.yahoo.com'"> </form>
Let's say you have a form like this:
<form name="aa"> <input type="text" size="10" value="" name="bb"><br> <input type="button" value="Click Here"onclick="alert(document.aa.bb.value)"> </form>
Notice that we gave the names to the form and the element. So JavaScript can gain access to them.
onBlur. Let's see how onblur works:
<html><head><script> function emailchk() { var x=document.feedback.email.value if (x.indexOf("@")==-1) { alert("It seems you entered an invalid email address.") document.feedback.email.focus() } } </script></head><body>
<form name="feedback"> Email:<input type="text" size="20" name="email" onblur="emailchk()"><br> Comment: <textarea name="comment" rows="2" cols="20"></textarea><br> <input type="submit" value="Submit"> </form> </body></html>
If you enter an email address without the @, you'll
get an alert asking you to re-enter the data. What is: x.indexOf(@)==-1?
This is a method that JavaScript can search every character within
a string and look for what we want. If it finds it will return the
position of the char within the string. If it doesn't, it will return
-1. Therefore, x.indexOf("@")==-1 basically
means: "if the string doesn't include @, then:
alert("It seems you entered an invalid email address.") document.feedback.email.focus()
What's focus()? This is a method of the text box, which basically
forces the cursor to be at the specified text box.
onsubmit Unlike onblur, onsubmit
handler is inserted inside the <form> tag, and not inside
any one element. Lets do an example:
<script> <!-- function validate() { if(document.login.userName.value=="") { alert ("Please enter User Name") return false } if(document.login.password.value=="") { alert ("Please enter Password") return false } } //--> </script>
<form name="login" onsubmit="return validate()"> <input type="text" size="20" name="userName"> <input type="text" size="20" name="password"> <input type="submit" name="submit" value="Submit"> </form>
Note:
if(document.login.userName.value==""). This means
"If the box named userName of the form named login contains
nothing, then...". return false. This is used to stop the
form from submitting. By default, a form will return true if submitting.
return validate() That means, "if submitting, then call
the function validate()".
<html><head> <SCRIPT Language="JavaScript"> function checkLogin(x) { if ((x.id.value != "Sam")||(x.pass.value !="Sam123")) { alert("Invalid Login"); return false; } else location="main.htm" } </script>
</head><body> <form> <p>UserID:<input type="text" name="id"></p> <p>Password:<input type="password" name="pass"></p> <p><input type="button" value="Login" onClick="checkLogin(this.form)"></p> </form> </body></html>
|| means "or", and ,!= indicates
"not equal". So we can explain the script: "If the
id does not equal 'Sam', or the password does not equal 'Sam123', then
show an alert ('Invalid Login') and stop submitting. Else, open the
page 'main.htm'".
In most cases, a form can be repaced by a link:
<a href="JavaScript:window.location.reload()">Click to reload!</a>
More examples:
<a href="#" onClick="alert('Hello, world!')">Click me to say Hello</a><br>
<a href="#" onMouseOver="location='main.htm'">Mouse over to see Main Page</a>
Let's see an example:
<HTML><HEAD><TITLE>Show Date</TITLE></HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript"> var x= new Date(); document.write (x); </SCRIPT> </BODY></HTML>
To activate a Date Object, you can do this: var x=new Date(). Whenever
you want to create an instance of the date object, use this important
word: new followed by the object name().
var banTime= new Date() var ss=banTime.getHours() if (ss<=12) document.write("<img src='banner1.gif'>") else document.write("<img src='banner2.gif'>")
| Methods | ||
|
getDate getTime getTimezoneOffset |
getDay getMonth getYear |
getSeconds getMinutes getHours |
<form> <input type="button" value="Click here to see" onclick="window.open('test.htm')"> </form>
You can replace test.htm with any URL, for example,
with http://www.yahoo.com.
open("URL","name","attributes")
For example:
<form> <input type="button" value="Click here to see" onclick="window.open('page2.htm','win1','width=200,height=200,menubar')"> </form>
Another example with no attributes turned on, except the size changed:
<form> <input type="button" value="Click here to see" onclick="window.open('page2.htm','win1','width=200,height=200')"> </form>
Here is the complete list of attributes you can add:
| width | height | toolbar |
| location | directories | status |
| scrollbars | resizable | menubar |
window.location.reload()
<form> <input type="button" value="Close Window" onClick="window.close()"> </form> <a href="javascript:window.close()">Close Window</a>
window.location="test.htm"
This is the same as
<a href="test.htm>Try this </a>
Let's provide an example, where a confirm box will allow users to choose between going to two places:
<script> <!-- function ss() { var ok=confirm('Click "OK" to go to yahoo, "CANCEL" to go to hotmail') if (ok) location="http://www.yahoo.com" else location="http://www.hotmail.com" } //--> </script>
aa=window.open('test.htm','','width=200,height=200')
By giving this window a name "aa", it will give you access to anything that's inside this window from other windows. Whenever we want to access anything that's inside this newly opened window, for example, to write to this window, we would do this: aa.document.write("This is a test.").
Now, let's see an example of how to change the background color of another window:
<html><head><title></title></head> <body> <form> <input type="button" value="Open another page" onClick="aa=window.open('test.htm','','width=200,height=200')"> <input type="radio" name="x" onClick="aa.document.bgColor='red'"> <input type="radio" name="x" onClick="aa.document.bgColor='green'"> <input type="radio" name="x" onClick="aa.document.bgColor='yellow'"> </form> </body></html>
"opener" property, we can access
the main window from the newly opened window.
Let's create Main page:
<html> <head> <title></title> </head> <body> <form> <input type="button" value="Open another page" onClick="aa=window.open('test.htm','','width=100,height=200')"> </form> </body> </html>
Then create Remote control page (in this example, that is test.htm):
<html> <head> <title></title> <script> function remote(url){ window.opener.location=url } </script> </head> <body> <p><a href="#" onClick="remote('file1.htm')">File 1</a></p> <p><a href="#" onClick="remote('file2.htm')">File 2</a></p> </body> </html>
Try it now!
One of the most popular uses of loading multiple frames is to load and change the content of more than one frame at once. Lets say we have a parent frame:
<html> <frameset cols="150,*"> <frame src="page1.htm" name="frame1"> <frame src="page2.htm" name="frame2"> </frameset> </html>
We can add a link in the child frame "frame1" that will change the contents of not only page1, but page2 too. Shown below is the html code for it:
<html> <body> <h2>This is page 1 </h2> <a href="page3.htm" onClick="parent.frame2.location='page4.htm'">Click Here</a> </body> </html>
Notice: You should use "parent.frameName.location" to
access another frame. "parent" standards for the parent
frame containing the frameset code.
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 26 Oct 2000 Editor: Maureen |
Copyright 2000 by Nongjian Zhou Everything else Copyright © CodeProject, 1999-2009 Web18 | Advertise on the Code Project |