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>
しかし、それは機能しません。何か案は?
cancel
はtype属性の有効な値ではないため、ボタンはおそらくsubmit
にデフォルト設定され、フォームの送信を続行します。あなたはおそらくtype="button"
を意味します。
(javascript:
は削除する必要がありますが、害はありませんが、まったく役に立たない label )
ただし、ボタンのような機能はないので、次の方法をお勧めします。
<a href="http://stackoverflow.com"> Cancel </a>
…ボタンのように見えるようにするために、おそらくCSSを使用します。
Htmlにはbutton type="cancel"
はありません。このように試すことができます
<a href="http://www.url.com/yourpage.php">Cancel</a>
CSSスタイルのプロパティを使用して、ボタンのように見せることができます。
ここにはいくつかの問題があります。
まず第一に、<button type="cancel">
のようなものはないので、それはただ<button>
として扱われます。これは、ボタンが他の場所に移動するのではなく、フォームが送信されることを意味します。
次に、javascript:
は、URLが予期されるhref
またはaction
属性でのみ必要で、JavaScriptコードを指定します。 JavaScriptがすでに期待されているonclick
内では、ラベルとして機能するだけで、実際の目的はありません。
最後に、キャンセルボタンよりもキャンセルリンクを使用する方が一般的に優れた設計です。だからあなたはこれを行うことができます:
<a href="http://stackoverflow.com/">Cancel</a>
CSSを使用すると、ボタンと同じように表示することもできますが、このHTMLを使用すると、何をすべきかについてまったく混乱することはありません。
デフォルトではフォームを送信しますが、最も簡単な方法は「return false」を追加することです
<button type="cancel" onclick="window.location='http://stackoverflow.com';return false;">Cancel</button>
<input class="button" type="button" onclick="window.location.replace('your_url')" value="Cancel" />
Type = "button"を置くだけです
<button type="button"><b>Cancel</b></button>
ボタンはフォーム内にあるため、submitとしてデフォルト値を使用しており、type = "cancel"は存在しません。
ボタンタイプのキャンセルはありません https://www.w3schools.com/jsref/prop_pushbutton_type.asp
キャンセル機能を実現するために、DOM履歴を使用しました
<button type="button" class="btn btn-primary" onclick="window.history.back();">Cancel</button>