html submit without submit button or JavaScript

2019-01-27 11:36发布

问题:

Currently I have a simple form with a plus and minus on it and a value in the middle. I am trying to create a href link under the plus and under the minus to call self but to either indicate which link was used (either plus or minus) or to pass the value after being incremented or decremented.

I do not want to use JavaScript/client side scripting because some browsers do not allow it but I am using PHP. I also did not want to use $_GET as other data needs to be sent to 'self' so I am using $_POST.

Any idea's are welcome.

snippet of code

var_dump($_POST);
< form action="?" method="post" action="Submit" >
< input type="hidden" id="currentvalue" name="currentvalue" value="2" / >

< div class="minus" >< a href="" onclick="document.forms[0].submit();return false;" > - < /a > < /div >
< div class="currentvalue">'.$_POST["currentvalue"].'< /div >
< div class="plus"> + < /div >

Thanks

回答1:

You cannot submit an HTML form without using the button or input type=image/submit elements or JS.

What you can do:

  1. Specify an image for input type=image
  2. Apply a bg image to input type=submit and killing the text via text-indent:-999em; for modern browsers and line-height for IE
  3. Split areas into separate forms if you really have to


回答2:

Here's another way to gracefully degrade if the user doesn't have Javascript:

-Code the form with a normal html submit button

-Hide the button with Javascript (set the display to none)

-submit the form when needed with Javascript.

Thus, the negligable amount of users w/o javascript will simply have to click a button. Most of your users will never see it.

Also, your code looks like it might be for paging or something similar. If so, you should also consider if it would be more appropriate to use a normal link with query parameters, and then use _GET rather than _POST. Thus, you wouldn't need a form submit.



回答3:

You won't be able to submit the form without either JavaScript or a submit button. The only exception would be if the user were to press enter in the textbox after changing the value. That should, in most browsers, submit the form. Besides that, JavaScript or a submit button is mandatory.