Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #10162

Re: Cannot write to the DOM

From Tim Streater <timstreater@greenbee.net>
Newsgroups comp.lang.javascript
Subject Re: Cannot write to the DOM
Date 2012-01-12 09:38 +0000
Organization Personal Software
Message-ID <timstreater-2F9F9A.09381012012012@news.individual.net> (permalink)
References <3437926.47.1326345632135.JavaMail.geo-discussion-forums@yqiq10>

Show all headers | View raw


In article 
<3437926.47.1326345632135.JavaMail.geo-discussion-forums@yqiq10>,
 RH <richkhall@gmail.com> wrote:

> I'm a newbie, and just starting to use javascript.  I've written a small 
> program that simply adds an element to an unordered list in the DOM:
> 
> <body>
>    <form>
>       <input type="text" name="filePath" size="100" />
>       <button id="add_button">Add Element</button>
>    </form>
>    <ul id="test"></ul>
>    <script language="JavaScript" type="text/javascript" src="viewer.js">      
>    </script>
> </body>
> 
> script in viewer.js:
> 
> window.onload = init();
> 
> function init() {
>    var button = document.getElementById("add_button");
>    button.onclick = create;
> }
> 
> 
> function create() {
>    // create the element in the DOM
>    var listItemViewer = document.getElementById("test");
> 	
>    var test = document.createElement("li");
>    test.innerHTML = "test list item";
>    listItemViewer.appendChild(test);
> }
> 
> If I run it and click the add button, it flashes the "test list item" on the 
> screen - if I single step it through the debugger, it shows that it puts the 
> element in the DOM at the end of the create() function, but then it gets 
> stripped out?  Can anyone help me understand why this is happening?
> 
> Thanks, 


Your button needs to be like this:

  <button id="add_button" type="button">

otherwise it is a submit button. You click it and the form is submitted. 
And because in the <form> you did not specify an action, by default the 
action is to load your script again. So your <li> is added (and you see 
the flash), then the original script is reloaded and away it goes.

-- 
Tim

"That excessive bail ought not to be required, nor excessive fines imposed,
nor cruel and unusual punishments inflicted"  --  Bill of Rights 1689

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Cannot write to the DOM RH <richkhall@gmail.com> - 2012-01-11 21:20 -0800
  Re: Cannot write to the DOM Tim Streater <timstreater@greenbee.net> - 2012-01-12 09:38 +0000
    Re: Cannot write to the DOM R Hall <richkhall@gmail.com> - 2012-01-12 18:52 -0800
  Re: Cannot write to the DOM "Evertjan." <exjxw.hannivoort@interxnl.net> - 2012-01-12 12:06 +0000
  Re: Cannot write to the DOM Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-01-12 13:21 +0100
    Re: Cannot write to the DOM John G Harris <john@nospam.demon.co.uk> - 2012-01-13 17:06 +0000
      Re: Cannot write to the DOM Gene Wirchenko <genew@ocis.net> - 2012-01-13 11:38 -0800
      Re: Cannot write to the DOM Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-01-13 22:23 +0100
        Re: Cannot write to the DOM John G Harris <john@nospam.demon.co.uk> - 2012-01-14 15:49 +0000
          Re: Cannot write to the DOM Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-01-14 17:26 +0100
            Re: Cannot write to the DOM John G Harris <john@nospam.demon.co.uk> - 2012-01-15 14:19 +0000
              Re: Cannot write to the DOM Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-01-15 19:45 +0100
                Re: Cannot write to the DOM John G Harris <john@nospam.demon.co.uk> - 2012-01-16 10:40 +0000
              Re: Cannot write to the DOM Denis McMahon <denismfmcmahon@gmail.com> - 2012-01-15 20:56 +0000
  Re: Cannot write to the DOM Denis McMahon <denismfmcmahon@gmail.com> - 2012-01-12 14:00 +0000
    Re: Cannot write to the DOM Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-01-12 18:32 +0100
  Re: Cannot write to the DOM RobG <rgqld@iinet.net.au> - 2012-01-17 19:26 -0800

csiph-web