我有一个简单的HTML表单:
<form action="https://[URL goes here]" method="POST">
<input type="radio" name="args" value="on">Value 1.
<br>
<input type="radio" name="args" value="off">Value 2.
<br>
<input type="submit" value="Submit!">
</form>
我遇到的问题是URL返回一些状态信息,页面重新加载该状态信息。我希望表单所在的页面只是重新加载并忽略来自服务器的任何响应。
我试图替换
<input type="submit" value="Submit!">
与
<input type="submit" onclick="return false" value="Submit!">
但这不起作用。我需要使用表单传递“args”值,但我不关心服务器返回什么。我该怎么做?
答案 0 :(得分:2)
您可以使用iframe
:
<form action="https://www.google.com/search" target="ignore" onsubmit="this.reset();">
Search for: <input type="text" name="q" value="Forms"/>
<input type="submit"/>
</form>
<iframe name="ignore" src="about:blank" style="display:none;"></iframe>
答案 1 :(得分:1)
这个问题为如何做到这一点提供了一些简单的建议。
Submit form without page reloading
总结:
为了完整起见,我要补充一点,如果你能控制服务器,你可以:
204 No content
(仍然没有JavaScript!)这意味着:成功,但无所事事。所以浏览器保持不变。
(还有205 Reset Content
应重置表单,但我不确定浏览器处理的效果如何)
更多信息: https://benramsey.com/blog/2008/05/http-status-204-no-content-and-205-reset-content/
答案 2 :(得分:0)
您可以使用Ajax提交表单。 并致电
location.reload();
重新加载您的页面。