By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,349 Members | 1,353 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,349 IT Pros & Developers. It's quick & easy.

getting all the input elements of a malformed form tag

P: n/a
I'm trying to get a list of all the input elements of a form tag and
am having some difficulty doing so. First, here's my XHTML:

<div>
<form action="">
<input type="text" name="a" />
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</form>
</div>

It isn't semantically correct XHTML but that doesn't stop web
developers from coding like that.

Anyway, in both Firefox and IE, if you visit a webpage containing the
above, and hit the Submit button, the resultant URL will have both a
and b defined via GET.

I'd like to be able to get a list of the same input parameters that
the browser does for a given form element. I had been using "//
form[1]//input" as an XPath query, but that doesn't work, here,
because not all of the inputs are children of the form element.
Indeed, if I use DOMDocument::saveHTML(), I get something more like
this:

<div>
<form action="">
<input type="text" name="a" />
</form>
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</div>

Any ideas?
Sep 3 '08 #1
Share this Question
Share on Google+
5 Replies


P: n/a
On Sep 3, 7:05 am, yawnmoth <terra1...@yahoo.comwrote:
I'm trying to get a list of all the input elements of a form tag and
am having some difficulty doing so. First, here's my XHTML:

<div>
<form action="">
<input type="text" name="a" />
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</form>
</div>

It isn't semantically correct XHTML but that doesn't stop web
developers from coding like that.

Anyway, in both Firefox and IE, if you visit a webpage containing the
above, and hit the Submit button, the resultant URL will have both a
and b defined via GET.

I'd like to be able to get a list of the same input parameters that
the browser does for a given form element. I had been using "//
form[1]//input" as an XPath query, but that doesn't work, here,
because not all of the inputs are children of the form element.
Indeed, if I use DOMDocument::saveHTML(), I get something more like
this:

<div>
<form action="">
<input type="text" name="a" />
</form>
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</div>

Any ideas?
I'm not sure what you're trying to achieve here I'm afraid, but I do
have one piece of advice for you. Fix your HTML. There is no reason
whatsoever for it not to be well formed, and it's only ever going to
cause you grief. If you didn't write teh HTML in question then have a
quiet polite word with whomever did.
Sep 3 '08 #2

P: n/a
On Sep 3, 7:05 am, yawnmoth <terra1...@yahoo.comwrote:
I'm trying to get a list of all the input elements of a form tag and
am having some difficulty doing so. First, here's my XHTML:

<div>
<form action="">
<input type="text" name="a" />
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</form>
</div>

It isn't semantically correct XHTML but that doesn't stop web
developers from coding like that.

Anyway, in both Firefox and IE, if you visit a webpage containing the
above, and hit the Submit button, the resultant URL will have both a
and b defined via GET.

I'd like to be able to get a list of the same input parameters that
the browser does for a given form element. I had been using "//
form[1]//input" as an XPath query, but that doesn't work, here,
because not all of the inputs are children of the form element.
Indeed, if I use DOMDocument::saveHTML(), I get something more like
this:

<div>
<form action="">
<input type="text" name="a" />
</form>
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</div>

Any ideas?
Oh, something else just occurred to me after I made that previous
post. Why not just use the contents of $_GET?
Sep 3 '08 #3

P: n/a
Message-ID:
<aa**********************************@w7g2000hsa.g ooglegroups.comfrom
yawnmoth contained the following:
>I'd like to be able to get a list of the same input parameters that
the browser does for a given form element. I had been using "//
form[1]//input" as an XPath query, but that doesn't work, here,
because not all of the inputs are children of the form element.
Indeed, if I use DOMDocument::saveHTML(), I get something more like
this:
Wrong froup methinks.
--
Geoff Berrow 0110001001101100010000000110
001101101011011001000110111101100111001011
100110001101101111001011100111010101101011
http://slipperyhill.co.uk - http://4theweb.co.uk
Sep 3 '08 #4

P: n/a
the variables are in the $_GET array.
Sep 3 '08 #5

P: n/a
On Sep 3, 3:10 am, Gordon <gordon.mc...@ntlworld.comwrote:
On Sep 3, 7:05 am,yawnmoth<terra1...@yahoo.comwrote:
I'm trying to get a list of all the input elements of a form tag and
am having some difficulty doing so. First, here's my XHTML:
<div>
<form action="">
<input type="text" name="a" />
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</form>
</div>
It isn't semantically correct XHTML but that doesn't stop web
developers from coding like that.
Anyway, in both Firefox and IE, if you visit a webpage containing the
above, and hit the Submit button, the resultant URL will have both a
and b defined via GET.
I'd like to be able to get a list of the same input parameters that
the browser does for a given form element. I had been using "//
form[1]//input" as an XPath query, but that doesn't work, here,
because not all of the inputs are children of the form element.
Indeed, if I use DOMDocument::saveHTML(), I get something more like
this:
<div>
<form action="">
<input type="text" name="a" />
</form>
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</div>
Any ideas?

Oh, something else just occurred to me after I made that previous
post. Why not just use the contents of $_GET?
I'm using cURL to grab the contents of the webpage and
DOMDocument::loadHTML() to parse the contents. Although I'd certainly
like to send a request via GET, it's getting all the variables that
I'd need to do so that's the hard part.
Sep 3 '08 #6

This discussion thread is closed

Replies have been disabled for this discussion.