We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

Generate text using Javascript(document.text.innerHTML)

Alasse
Alasse asked
on
Medium Priority
314 Views
Last Modified: 2007-12-19
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~
Comment
Watch Question

Commented:
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>"));

Author

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?

Commented:
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.

Author

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!

Commented:
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
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
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.