Is it possible to do a POST from just an <a>
tag? I know anchor tags are usually just for GETs, and I know I can use javascript to do this (like in JavaScript post request like a form submit) but to me that seems a little messy. Is there a way to do this with straight HTML?
There is no way to POST an a element using only HTML. There is no attribute that controls whether to use POST or GET with an a element. You have to script it, if you want to abuse the semantics.
POST is used to send data to a server to create/update a resource. Some notes on POST requests: POST requests are never cached.
You can use href=”#top” or href=”#” to link to the top of the current page. To use the anchor tag as submit button, we need the help of JavaScript. To submit the form, we use JavaScript . submit() function.
<input formaction=url> <source src=url>
Not really, no. You can, however, do something like this:
<form action="theUrl" method="POST"> <input type="hidden" name="param1" value="val" /> <input type="hidden" name="param2" value="val2" /> <a href="#" onclick="this.parentNode.submit()">Go to that link!</a> </form>
You should find a better way, though. This one does not degrade gracefully.
There is no way to POST
an a
element using only HTML.
As can be seen from this DTD fragment (HTML 4.01 spec):
<!ELEMENT A - - (%inline;)* -(A) -- anchor --> <!ATTLIST A %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #IMPLIED -- char encoding of linked resource -- type %ContentType; #IMPLIED -- advisory content type -- name CDATA #IMPLIED -- named link end -- href %URI; #IMPLIED -- URI for linked resource -- hreflang %LanguageCode; #IMPLIED -- language code -- rel %LinkTypes; #IMPLIED -- forward link types -- rev %LinkTypes; #IMPLIED -- reverse link types -- accesskey %Character; #IMPLIED -- accessibility key character -- shape %Shape; rect -- for use with client-side image maps -- coords %Coords; #IMPLIED -- for use with client-side image maps -- tabindex NUMBER #IMPLIED -- position in tabbing order -- onfocus %Script; #IMPLIED -- the element got the focus -- onblur %Script; #IMPLIED -- the element lost the focus -- >
There is no attribute that controls whether to use POST
or GET
with an a
element.
You have to script it, if you want to abuse the semantics.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With