如何创建重定向到URL的HTML取消按钮

Red*_*ket 31 html javascript forms htmlbutton

我正在使用w3schools Tryit编辑器中按钮,我正在尝试弄清楚当我点击"取消"按钮时我的浏览器重定向到URL.

这是我尝试过的:

<form action="demo_form.asp" method="get">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
  <button type="submit" value="Submit">Submit</button>
  <button type="reset" value="Reset">Reset</button>
  <button type="cancel" onclick="javascript:window.location='http://stackoverflow.com';">Cancel</button>
</form>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.有任何想法吗?

Que*_*tin 53

cancel不是type属性的有效值,因此该按钮可能默认为submit并继续提交表单.你可能意味着type="button".

(javascript:应该删除,虽然它没有任何伤害,但它是一个完全无用的标签)

你没有任何类似按钮的功能,所以最好用:

<a href="http://stackoverflow.com"> Cancel </a>
Run Code Online (Sandbox Code Playgroud)

...可能有一些CSS使它看起来像一个按钮.


RJ *_*oop 19

button type="cancel"在html中没有.你可以这样试试

<a href="http://www.url.com/yourpage.php">Cancel</a>
Run Code Online (Sandbox Code Playgroud)

您可以使用CSS样式属性使其看起来像一个按钮.

  • 为避免获得带有标签下划线的按​​钮(如链接),请使用"<button type ="button">取消</ button>`而不是输入. (5认同)
  • 你为什么要在链接里放一个按钮?如果这有效,那肯定是古怪的行为......实际上,HTML标准甚至不允许这样做:https://www.w3.org/TR/html-markup/button.button.html#button.button-constraints (3认同)
  • 您的2016年5月编辑应该保留原始的,20倍向上的回答,然后解释为什么您现在认为它是错误的.替换原来的答案使得这个答案看起来是赢得赞成票的答案,它使评论混乱,而且不那么有启发性.它也使得这个答案成为最佳答案的副本. (3认同)

Nie*_*sol 13

这里有一些问题.

首先,没有这样的东西<button type="cancel">,所以它被视为一个<button>.这意味着您的表单将被提交,而不是将您带到其他地方的按钮.

其次,javascript:仅在需要URL的属性hrefaction属性中指定JavaScript代码.在内部onclick,已经预期JavaScript,它只是作为一个标签,没有任何实际意义.

最后,通常更好的设计是拥有取消链接而不是取消按钮.所以你可以这样做:

<a href="http://stackoverflow.com/">Cancel</a>
Run Code Online (Sandbox Code Playgroud)

使用CSS,你甚至可以使它看起来像一个按钮,但使用这个HTML,它绝对没有混淆它应该做什么.

  • 最简单的方法是将按钮放在链接中. (2认同)

Kon*_*tin 12

它默认提交表单,最简单的方法是添加"return false"

<button type="cancel" onclick="window.location='http://stackoverflow.com';return false;">Cancel</button>
Run Code Online (Sandbox Code Playgroud)

  • 如果是这种情况它会转到url,而是提交表单,返回false会阻止表单提交,然后它实际上会重定向. (2认同)

小智 8

没有按钮类型取消 https://www.w3schools.com/jsref/prop_pushbutton_type.asp

为了实现取消功能,我使用了 DOM 历史记录

<button type="button" class="btn btn-primary" onclick="window.history.back();">Cancel</button>
Run Code Online (Sandbox Code Playgroud)

欲了解更多详细信息:https ://www.w3schools.com/jsref/met_his_back.asp


Sob*_*ine 5

<input class="button" type="button" onclick="window.location.replace('your_url')" value="Cancel" />
Run Code Online (Sandbox Code Playgroud)

  • 也许您应该考虑在您的代码行中添加一些解释.上下文总是有帮助的 - 你可以告诉OP他们的方法有什么问题,以及为什么你的答案可以解决问题.请参阅Kolink或Quentin的答案以获得想法. (5认同)

sha*_*359 5

只需输入类型 =“按钮”

<button type="button"><b>Cancel</b></button>
Run Code Online (Sandbox Code Playgroud)

因为您的按钮位于表单内,所以它采用默认值作为提交,并且 type="cancel" 不存在。