
Let's first see a simple example:
This is a JavaScript example Hi, man!
Usually, JavaScript code starts with the tag . The code placed between and . Sometimes, people embed the code in the tags:
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:
You can use another attribute SRC to include an external file containing JavaScript code:
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:
, or you will get an error message. Back to top
In order to output text in JavaScript you must use write() or writeln(). Here's an example:
Welcome to my site
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.
Back to top
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.
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:
Back to top
alert, confirm, and prompt. Let's look at the first one: 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()
Back to top
Let's see an example:
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.
Another example:
Welcome to my website!.
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".
Back to top
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 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?".
Back to top
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:
The function ss() is invoked when the user clicks the button. Note: Event handlers are not added inside the tags, but rather, inside the html tags.
onunload executes JavaScript while someone leaves the page. For example to thank users.
Back to top
Let's say you have a form like this:
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:
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 tag, and not inside any one element. Lets do an example:
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()".
function checkLogin(x)
{
if ((x.id.value != "Sam")||(x.pass.value !="Sam123"))
{
alert("Invalid Login");
return false;
}
else
location="main.htm"
}
|| 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'".
Back to top
In most cases, a form can be repaced by a link:
More examples:
Back to top
Let's see an example:
Show Date var x= new Date(); document.write (x);
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("
")
else
document.write("
") | Methods | ||
| getDate getTime getTimezoneOffset |
getDay getMonth getYear |
getSeconds getMinutes getHours |
You can replace test.htm with any URL, for example, with http://www.yahoo.com.
open("URL","name","attributes")For example:
Another example with no attributes turned on, except the size changed:
Here is the complete list of attributes you can add:
| width | height | toolbar |
| location | directories | status |
| scrollbars | resizable | menubar |
window.location.reload()
window.location="test.htm"
This is the same as
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:
"opener" property, we can access the main window from the newly opened window.
Let's create Main page:
Then create Remote control page (in this example, that is test.htm):
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:
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:
This is page 1
Click Here
Notice: You should use "parent.frameName.location" to access another frame. "parent" standards for the parent frame containing the frameset code.
