Connecting Tech Pros Worldwide Forums | Help | Site Map

getting all the input elements of a malformed form tag

yawnmoth
Guest
 
Posts: n/a
#1: Sep 3 '08
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?

Gordon
Guest
 
Posts: n/a
#2: Sep 3 '08

re: getting all the input elements of a malformed form tag


On Sep 3, 7:05 am, yawnmoth <terra1...@yahoo.comwrote:
Quote:
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.
Gordon
Guest
 
Posts: n/a
#3: Sep 3 '08

re: getting all the input elements of a malformed form tag


On Sep 3, 7:05 am, yawnmoth <terra1...@yahoo.comwrote:
Quote:
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?
Geoff Berrow
Guest
 
Posts: n/a
#4: Sep 3 '08

re: getting all the input elements of a malformed form tag


Message-ID:
<aa5a9385-8a0a-49a0-b2e8-30eb442fb4b0@w7g2000hsa.googlegroups.comfrom
yawnmoth contained the following:
Quote:
>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
macca
Guest
 
Posts: n/a
#5: Sep 3 '08

re: getting all the input elements of a malformed form tag


the variables are in the $_GET array.
yawnmoth
Guest
 
Posts: n/a
#6: Sep 3 '08

re: getting all the input elements of a malformed form tag


On Sep 3, 3:10 am, Gordon <gordon.mc...@ntlworld.comwrote:
Quote:
On Sep 3, 7:05 am,yawnmoth<terra1...@yahoo.comwrote:
>
>
>
Quote:
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:
>
Quote:
<div>
<form action="">
<input type="text" name="a" />
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</form>
</div>
>
Quote:
It isn't semantically correct XHTML but that doesn't stop web
developers from coding like that.
>
Quote:
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.
>
Quote:
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:
>
Quote:
<div>
<form action="">
<input type="text" name="a" />
</form>
</div>
<div>
<input type="text" name="b" />
</div>
<div>
<input type="submit" />
</div>
>
Quote:
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.
Closed Thread