[解決済み] リンクのように動作するHTMLボタンを作成する方法
質問
リンクのように動作するHTMLボタンを作りたいのですが、どうすればいいですか?つまり、ボタンをクリックすると、あるページにリダイレクトされるのです。できるだけアクセシブルなものにしたいです。
また、URLに余分な文字やパラメータが含まれないようにしたいです。
どうすれば実現できますか?
これまで投稿された回答を参考に、現在このようにしています。
<form method="get" action="/page2">
<button type="submit">Continue</button>
</form>
が、これの問題点は サファリ と インターネットエクスプローラー の場合、URLの末尾にクエスチョンマーク文字が追加されます。URLの末尾に文字を追加しない解決策を見つける必要があります。
これには、他に2つの解決策があります。JavaScriptを使用するか、リンクがボタンのように見えるようにスタイルを設定することです。
JavaScriptを使用する。
<button onclick="window.location.href='/page2'">Continue</button>
しかし、これには明らかにJavaScriptが必要で、そのためにスクリーン・リーダーが利用しにくくなっています。リンクのポイントは、別のページに移動することです。ですから、ボタンをリンクのように動作させようとするのは、間違った解決方法です。私が提案するのは、リンクと ボタンのように見えるようにする .
<a href="/link/to/page2">Continue</a>
解決方法は?
HTML
プレーンなHTMLの方法は、それを
<form>
で、目的のターゲットURLを指定します。
action
属性で指定します。
<form action="https://google.com">
<input type="submit" value="Go to Google" />
</form>
必要であれば、CSS
display: inline;
をフォームに貼り付けて、周囲のテキストとのフローを維持します。代わりに
<input type="submit">
を使用することもできます。
<button type="submit">
. 唯一の違いは
<button>
要素では、子要素を許可しています。
直感的に期待できるのは
<button href="https://google.com">
と類似しています。
<a>
要素によると、残念ながらこの属性は存在しません。
HTML仕様
.
CSS
CSSが許可されている場合、単に
<a>
を使い、ボタンのように見せる。
appearance
プロパティ (
Internet Explorerのみ非対応
).
<a href="https://google.com" class="button">Go to Google</a>
a.button {
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
text-decoration: none;
color: initial;
}
または、以下のような多くのCSSライブラリの中から1つを選びます。 ブートストラップ .
<a href="https://google.com" class="btn btn-primary">Go to Google</a>
JavaScript
JavaScriptが許可されている場合は
window.location.href
.
<input type="button" onclick="location.href='https://google.com';" value="Go to Google" />
の代わりに
<input type="button">
を使用することもできます。
<button>
. 唯一の違いは
<button>
要素では、子要素を許可しています。
関連
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] TextViewのリンクをクリック可能にする方法
-
[解決済み] HTML5でfloat入力タイプはありますか?
-
[解決済み] JavaScriptでURLの#hashを確認する方法は?
-
[解決済み] Flexbox:水平方向と垂直方向の中央揃え
-
[解決済み] Can I make a <button> not submit a form?
-
[解決済み] HTMLボタンやJavaScriptをクリックしたときにファイルをダウンロードさせる方法
-
[解決済み] フォームを送信しないためのHTMLボタン
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 箇条書きのない順序なしリストが必要です。
-
[解決済み] チェックボックスとそのラベルをクロスブラウザーで一貫して揃える方法
-
[解決済み] <button> vs. <input type="button" />. Which to use?
-
[解決済み] divの中のテキストを縦に揃えるにはどうしたらいいですか?
-
[解決済み] Sublime Text 2を使ってHTMLコードを再フォーマットするにはどうしたらいいですか?
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] input type="file "ボタンのスタイリング
-
[解決済み] HTMLでBase64画像を表示する方法
-
[解決済み] Webサイトのブラウザタブアイコン(ファビコン)を追加する方法を教えてください。
-
[解決済み] ボタンを使って自分のページを別のページにリダイレクトさせるにはどうしたらいいですか?重複