From: mirek on
Hi,
My problem is:
I have javascript variable like this:

var variable = "<form name='formABC' method='POST'>"+
"<input type='text' id='nameABC'>"+
... <form>";
How can I get nameABC and put it into some other variable without
reloading a browser?
Thanks
From: Martin Honnen on
mirek wrote:

> I have javascript variable like this:
>
> var variable = "<form name='formABC' method='POST'>"+
> "<input type='text' id='nameABC'>"+
> ... <form>";
> How can I get nameABC and put it into some other variable without
> reloading a browser?

What is it exactly that you want to read out? The id attribute value of
the first input element in the form?

That could be done as follows:

var variable = "<form name='formABC' method='POST'>"+
"<input type='text' id='nameABC'>"+
"</form>";

var div = document.createElement('div');
div.innerHTML = variable;

var input =
div.getElementsByTagName('form')[0].getElementsByTagName('input')[0];
if (input != null) {
alert(input.id);
}


--

Martin Honnen
http://msmvps.com/blogs/martin_honnen/
From: Thomas 'PointedEars' Lahn on
Martin Honnen wrote:

> What is it exactly that you want to read out? The id attribute value of
> the first input element in the form?
>
> That could be done as follows:
>
> var variable = "<form name='formABC' method='POST'>"+
> "<input type='text' id='nameABC'>"+
> "</form>";
>
> var div = document.createElement('div');
> div.innerHTML = variable;
>
> var input =
> div.getElementsByTagName('form')[0].getElementsByTagName('input')[0];
> if (input != null) {
> alert(input.id);
> }

Given a Valid document, that is unnecessarily complicated and error-prone.
(You know better than that.)

window.alert(document.forms["formABC"].elements["nameABC"].id);

or

window.alert(document.getElementById("nameABC").id);

Not that the latter reference worm is recommended, though. All return
values should be tested before being used.


PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann
From: Thomas 'PointedEars' Lahn on
Thomas 'PointedEars' Lahn wrote:

> Martin Honnen wrote:
>> What is it exactly that you want to read out? The id attribute value of
>> the first input element in the form?
>>
>> That could be done as follows:
>>
>> var variable = "<form name='formABC' method='POST'>"+
>> "<input type='text' id='nameABC'>"+
>> "</form>";
>>
>> var div = document.createElement('div');
>> div.innerHTML = variable;
>>
>> var input =
>> div.getElementsByTagName('form')[0].getElementsByTagName('input')[0];
>> if (input != null) {
>> alert(input.id);
>> }
>
> Given a Valid document, that is unnecessarily complicated and error-prone.
> (You know better than that.)
>
> window.alert(document.forms["formABC"].elements["nameABC"].id);
>
> or
>
> window.alert(document.getElementById("nameABC").id);
>
> Not that the latter reference worm is recommended, though. All return
> values should be tested before being used.

Sorry, I have misunderstood your answer. OP: Use my answer as a solution if
you want to find out the value of the contro instead.


PointedEars
--
Anyone who slaps a 'this page is best viewed with Browser X' label on
a Web page appears to be yearning for the bad old days, before the Web,
when you had very little chance of reading a document written on another
computer, another word processor, or another network. -- Tim Berners-Lee
From: mirek on
On 13 Lis, 19:26, Martin Honnen <mahotr...(a)yahoo.de> wrote:
> mirek wrote:
> > I have javascript variable like this:
>
> > var variable = "<form name='formABC'  method='POST'>"+
> >                  "<input type='text' id='nameABC'>"+
> >                  ... <form>";
> > How can I get nameABC and put it into some other variable without
> > reloading a browser?
>
> What is it exactly that you want to read out? The id attribute value of
> the first input element in the form?
>
> That could be done as follows:
>
> var variable = "<form name='formABC'  method='POST'>"+
>                   "<input type='text' id='nameABC'>"+
>                  "</form>";
>
> var div = document.createElement('div');
> div.innerHTML = variable;
>
> var input =
> div.getElementsByTagName('form')[0].getElementsByTagName('input')[0];
> if (input != null) {
>    alert(input.id);
>
> }
>
> --
>
>         Martin Honnen
>        http://msmvps.com/blogs/martin_honnen/

Thank U very much. InnerHtml is the answer 4 my question :)