Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language


 
 
Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

Javascript / Client Side Development

Adaptive forms with Javascript


Hi
I'm new to javascript and i'm trying to create a simple form that:
has a text field
and a button
when the page is initially loaded the text field is not visible.
Pressing the button is supposed to make the text field visible

This is the code I have
 HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<script src = "srcipt.js" type="text/javascript"></script>
<form>
<fieldset id="testField">
<legend>Test</legend>
Test Field &nbsp<input type="text"/>
</fieldset>
<fieldset>
<legend>Test</legend>
<button type ="button" id="buttonfield" >Show field</button>
</fieldset>
</form>
</body>
</html>

The Javasrcript(in an external file)

if(window.attachEvent)
{

        window.attachEvent('onload', setupForm);

}

else if(window.addEventListener)
{
        window.addEventListener('load', setupForm,true);

}

function setupForm(someEvent)
{

        document.getElementById("testField").style.display="none";

        var field = document.getElementById"buttonField");

        if(window.attachEvent)
        {
                field.attachEvent('onclick', handleClick);
        }
        else if(window.addEventListener)
        {
                field.addEventListener('click', handleClick,true);
        }

}

function handleClick(someEvent)
{

        document.getElementById("testField").style.display="";

}

Its not working and i have no idea why, Can anyone please help? Thanks
Damo said:

Check the name of your script file.

--

On May 11, 9:01 pm, Lee <REM0VElbspamt@cox.net> wrote:

oops... i changed it but still nothing
On May 11, 1:45 pm, Damo <cormacdeba@gmail.com> wrote:

Try this code:

function addListener(ev,lis,elem){
  elem=elem||window;
  if(window.attachEvent)
    elem.attachEvent('on'+ev, lis);
  else if(window.addEventListener)
    elem.addEventListener(ev, lis,false);
  else
    elem['on'+ev]=lis

}

addListener("load",setupForm)

function setupForm(someEvent)
{
   document.getElementById("testField").style.display="none";
   var field = document.getElementById("buttonField");
   addListener('click', handleClick,field);

}

function handleClick(someEvent)
{
   document.getElementById("testField").style.display="";

excellent , cheers that did the trick.
 What does the line,

elem['on'+ev]=lis ;

do?

Thanks

Damo wrote:
> excellent , cheers that did the trick.
>  What does the line,

> elem['on'+ev]=lis ;

If the tests for addEventListener and attachEvent fails, it sets the
onEventName attribute of element.

For example-if you call
addListener("load",someFunc)

then that line(if it runs) will set:
window.onload=someFunc

Damo wrote:
> excellent , cheers that did the trick.
>  What does the line,

> elem['on'+ev]=lis ;

If the tests for addEventListener and attachEvent fails, it sets the
onEventName attribute of element.

For example-if you call
addListener("load",someFunc)

then that line(if it runs) will set:
window.onload=someFunc

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc