Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Javascript (http://www.velocityreviews.com/forums/f68-javascript.html)
-   -   newbie: insertBefore, Invalid Argument error (http://www.velocityreviews.com/forums/t929435-newbie-insertbefore-invalid-argument-error.html)

Jeff 01-26-2007 04:17 AM

newbie: insertBefore, Invalid Argument error
 
Hey

I'm trying to use javascript to dynamically add text to the web page. It
should work like this: The user tryes to click on a link in the web page.
The link executes a javascript method, which checks if a hidden html field
has a value. If that hidden field has no value then the javascript should
display a message (not using alert, but insert a html element into the code)
on the web page telling the user that he need to save the form before
clicking on that link..

Below is the approach I've tryed to solve this by... I just posted the code
I have problem with... the check if the hidden field has a value etc is
working okay, so I didn't post it... if you need to see that code too, just
tell me and I'll post that too.

This javascript gives an Invalid Argument error

This is the html code the javascript below are trying to insert an element
before
<div id="error"></div>

var oNewP = document.createElement("div");
var oText = document.createTextNode("Hello World");
oNewP.appendChild(oText);
var v1 = document.getElementById("error");
document.body.insertBefore(oNewP, v1);

Any suggestions?

Best Regards

Jeff



RobG 01-26-2007 05:42 AM

Re: newbie: insertBefore, Invalid Argument error
 


On Jan 26, 2:17 pm, "Jeff" <it_consulta...@hotmail.com.NOSPAM> wrote:
> Hey
>
> I'm trying to use javascript to dynamically add text to the web page. It
> should work like this: The user tryes to click on a link in the web page.
> The link executes a javascript method, which checks if a hidden html field
> has a value. If that hidden field has no value then the javascript should
> display a message (not using alert, but insert a html element into the code)
> on the web page telling the user that he need to save the form before
> clicking on that link..
>
> Below is the approach I've tryed to solve this by... I just posted the code
> I have problem with... the check if the hidden field has a value etc is
> working okay, so I didn't post it... if you need to see that code too, just
> tell me and I'll post that too.
>
> This javascript gives an Invalid Argument error
>
> This is the html code the javascript below are trying to insert an element
> before
> <div id="error"></div>
>
> var oNewP = document.createElement("div");
> var oText = document.createTextNode("Hello World");
> oNewP.appendChild(oText);
> var v1 = document.getElementById("error");
> document.body.insertBefore(oNewP, v1);
>
> Any suggestions?


v1 probably isn't a direct child of the body. Try:

v1.parentNode.insertBefore(oNewP, v1);


--
Rob


Jeff 01-26-2007 08:51 AM

Re: newbie: insertBefore, Invalid Argument error
 

"RobG" <rgqld@iinet.net.au> wrote in message
news:1169790164.969772.178130@h3g2000cwc.googlegro ups.com...
>
>
> On Jan 26, 2:17 pm, "Jeff" <it_consulta...@hotmail.com.NOSPAM> wrote:
>> Hey
>>
>> I'm trying to use javascript to dynamically add text to the web page. It
>> should work like this: The user tryes to click on a link in the web page.
>> The link executes a javascript method, which checks if a hidden html
>> field
>> has a value. If that hidden field has no value then the javascript should
>> display a message (not using alert, but insert a html element into the
>> code)
>> on the web page telling the user that he need to save the form before
>> clicking on that link..
>>
>> Below is the approach I've tryed to solve this by... I just posted the
>> code
>> I have problem with... the check if the hidden field has a value etc is
>> working okay, so I didn't post it... if you need to see that code too,
>> just
>> tell me and I'll post that too.
>>
>> This javascript gives an Invalid Argument error
>>
>> This is the html code the javascript below are trying to insert an
>> element
>> before
>> <div id="error"></div>
>>
>> var oNewP = document.createElement("div");
>> var oText = document.createTextNode("Hello World");
>> oNewP.appendChild(oText);
>> var v1 = document.getElementById("error");
>> document.body.insertBefore(oNewP, v1);
>>
>> Any suggestions?

>
> v1 probably isn't a direct child of the body. Try:
>
> v1.parentNode.insertBefore(oNewP, v1);
>
>
> --
> Rob
>


Thanks, now the "Hello World" is displayed when this code is executed. but
just one more thing.. I want the Hello World to be displayed with red text
centered on the screen also:
var oNewP = document.createElement('div style="color:red;
text-align:center;"');
var oText = document.createTextNode("Hello World");
oNewP.appendChild(oText);
var v1 = document.getElementById("error");
v1.parentNode.insertBefore(oNewP, v1);

But this code generate this error:
"Unexpected call to method or property access", in my opinion that error is
related to
var oNewP = document.createElement('div style="color:red;
text-align:center;"');

Any suggestions?



Toby Inkster 01-27-2007 01:00 PM

Re: newbie: insertBefore, Invalid Argument error
 
Jeff wrote:

> var oNewP = document.createElement('div style="color:red;
> text-align:center;"');


var oNewP = document.createElement('div');
oNewP.style.color = 'red';
oNewP.style.textAlign = 'center';

--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact



All times are GMT. The time now is 04:39 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.