Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

html form in javascript variable

0 views
Skip to first unread message

mirek

unread,
Nov 12, 2009, 1:41:18 PM11/12/09
to
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

Martin Honnen

unread,
Nov 13, 2009, 1:26:27 PM11/13/09
to
mirek 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);
}


--

Martin Honnen
http://msmvps.com/blogs/martin_honnen/

Thomas 'PointedEars' Lahn

unread,
Nov 13, 2009, 1:49:34 PM11/13/09
to
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

Thomas 'PointedEars' Lahn

unread,
Nov 13, 2009, 2:05:01 PM11/13/09
to
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

Message has been deleted

Thomas 'PointedEars' Lahn

unread,
Nov 16, 2009, 7:22:23 AM11/16/09
to
mirek wrote:

> On 13 Lis, 19:26, Martin Honnen <mahotr...@yahoo.de> 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);
>>
>> }

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

You mistyped "the cause of my future problems" only slightly.

This is not an Internet chat. And trim your quotes.

<http://jibbering.com/faq/#posting>


PointedEars
--
Prototype.js was written by people who don't know javascript for people
who don't know javascript. People who don't know javascript are not
the best source of advice on designing systems that use javascript.
-- Richard Cornford, cljs, <f806at$ail$1$8300...@news.demon.co.uk>

0 new messages