• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 302
  • Last Modified:

Generate text using Javascript(document.text.innerHTML)

hi,
i'm suppose to generate text in a normal html page using .innerHTML.

my source code is as follows:

<html>
<body>
<p id="text" />

<script>
   p1.InnerHtml = "<b>You wrote:</b> "
</script>


</body>
</html>

---------------------------------------
however no text appeared. What's wrong with the code?
Btw, is there such a function called "document.text.innerHTML"?

Please advise. Thanks~
0
Alasse
Asked:
Alasse
  • 4
  • 2
1 Solution
 
mreuringCommented:
There's no such object as p1, you could acces it (in this html-block) as document.getElementsByTagName("p")[0].InnerHtml
Seeying as it's empty, a more standards aware choice would be:
document.getElementsByTagName("p")[0].appendChild(document.createTextNode("<b>You wrote:</b>"));

Or the best solution in your html-fragment:
document.getElementById("text").appendChild(document.createTextNode("<b>You wrote:</b>"));
0
 
AlasseAuthor Commented:
okay, i did this instead:

<html>
<head>
<title>Kids Furniture.com - About Us</title>
<link href = "templates/forText.css" rel="stylesheet" type="text/css">
</head>

<body onload="init_text();" >

<table>

<tr>
<td>

<?
      include("includes/top_bar.php");
?>
</td>
</tr>


<tr><td>
<font>
<p id="content" >

</p>
</font>
</td></tr>


</table>

<script>
function init_text() {
      document.all('content').innerHTML="This is a default setup of the KidsFurniture.Com project, products shown are for demonstrational purposes, any products purchased will not be delivered nor will the customer be billed. Any information seen on these products is to be treated as fictional."

}

</script>
</body>
</html>

now i'm suppose to run it on external javascript. How do i go about doing it?
0
 
mreuringCommented:
Place the script in a file, without the <script> tags (Just making sure) and link to it like this:
<head>
<script type="text/javascript" src="yourjavascript.js"></script>
</head>

And I want to stress the point that using document.all is IE only, it seems a shame to restrict yourself to that when there's a couple of standards-compliant ways to do this with.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
AlasseAuthor Commented:
i manage to do that.... i mean the external script part...

you mention document.all is not excatly the perfect solution, restrictions and all.

So what's the other solutions that's better? Please tell me about it.

I duno. My lecturer told me to use this way. Then again, if there's other better ones.... =)

Please advise again. Thank you!
0
 
mreuringCommented:
The better way would be using:
document.getElementById('content')

This would work in IE4+ IE5+ and IE6+ as well as Konqueror, Gecko-based browsers (Mozilla, Netscape) and Opera.

Good luck and my pleasure,

 Martin
0
 
gam3r_3xtr3m3Commented:
as far as i know, innerHTML is an IE only command. better to use innerText like document.getElementById("content").innerText and for an ultimate crossbrowser, why not document.write()?

gam3r
0
 
mreuringCommented:
Uhm, well, not document.write because that runs while loading the page not after loading it and is as such not dynamic at all. ".innerHTML" is an IE invention but supported by most browsers since then:
http://www.quirksmode.org/dom/innerhtml.html

If you want to go for compliancy use the DOM by either creating a textNode of modifying one if already present:
document.getElementById("content").firstChild.nodeValue = "new text"; //Already exsisting textNode
document.getElementById("content").appendChild(document.createTextNode("new text")); //create a new node

Martin
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now