0

リンクをボタンとしてスタイリングしていますが、リンク アクションがフォーム アクションによってオーバーライドされていることに気付きました。そのため、キャンセル ボタンが実際に更新されます。フォーム要素内に保持しながら、ボタンからこの動作を簡単かつ確実に (すべてのブラウザーで) 削除する方法はありますか? または、ボタンのスタイルを変更する必要がありますか?


アップデート:

<form>
 <input type='text'>
 <a href="cancel"><button>cancel</button></a>
 <input type="submit">
</form>

現在、a>buttonは同じアクションを持っていますinput(submit)


button最終的にスタイルを変更してタグを削除しました

4

3 に答える 3

1

ここでスティックの端が間違っている場合は申し訳ありませんが、キャンセルボタンでフォームを送信するべきではないため、質問を完全に理解できません。ただし、ボタンを誤って使用しているため、問題の原因となる可能性があります。

私はあなたがそれをしているようにそれをするならば、彼らはIEで働かないと思います:

<input type="button" value="Cancel" onClick="window.location='http://www.yoursite.com/cancellink'" />

上記のように実行すると、jsが無効になっていない限り、すべてのブラウザで必要な処理を実行できます。これが役立つことを願っています。ページにリンクする代わりに、js関数を内部で呼び出して、フォームや必要なものをクリアすることができます。

于 2012-08-09T17:18:46.197 に答える
1

ボタンのタイプを設定する必要があります。type属性が設定されていない場合、デフォルトでは、ボタンはフォーム内の送信ボタンとして機能します。

<a href="cancel"><button type="button">cancel</button></a>
于 2012-08-09T17:19:12.070 に答える
0

リンクの仕組みにより、 をクリック<a href="cancel">すると、ブラウザがそのリソースに移動しようとします。(例: http://yoursite.com/cancel )。

ボタンに何らかの JS アクションを実行させたい場合は、<a>. この場合、それは単に冗長です。思いの<button>ままにスタイリング。

ボタンでページにナビゲートする場合は、 を削除して<button>をスタイルし<a>ます。

于 2012-08-09T17:15:16.533 に答える