• ベストアンサー

リンクタグについて

教えてください。 <a>タグからFormを動かしたため下記のような記述を致しました。 この記述では、IE7、Firefoxでは動作するのですが、IE6では動作しません。IE6で動作させるにはどのような記述をすればよいのでしょうか? <a href="javascript:void(0)" onClick="document.frm.submit();">クリック</a> <form method="post" action="#" name="frm"> <input type="text" name="aaa" /> </from>

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

#1です。 >ビジュアル的にボタンが重苦しいのでわざわざリンクにしております。 最近はビジュアルを指定するのはCSSってことになってるらしい。 <html> <head><title>test</title> <style type="text/css"> form input.submit { background-color:white; border:none; font-size:100%; } </style> </head> <body> <form> <input type="submit" class="submit" value="submit"> </form> </body> </html> みたいな考えもあるのでは?

mori1115
質問者

補足

ありがとうございます。 考えてみればおっしゃる通りですね。 xhtmlの考え方からして、submitボタンをCSSで変更するのがきれいな書き方なのでしょうね。 記載頂いた方法にJSのマウスオーバーとマウスアウトイベントを加えてそれっぽくなりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

「<input type="submit">がない<form>はsubmitしない」というブラウザベンダー独自のルールがあります。 IE6、Netscape7などがこのルールに従っていたと思います。(Safari1.0やOpera8.0も?) W3C定義のHTML/XHTMLでは特に規定はありません。(送信してもしなくても良い) <input type="submit" style="display:none;">を付けておくとどうでしょうか。

mori1115
質問者

補足

ご回答ありがとうございます。 やはり、クロスブラウザの問題を考えると、submitボタンを作る方法が間違いありませんね。 方法は1),2)のどちらかでしょうか。 1)submitボタンをCSSで書き換える方法。 2)display:noneでsubmitボタンを見えなくしておいて、<a>にJSのonClickイベントでsubmitボタンをclick()する方法。 Javascriptはクロスブラウザ問題が多くあるので1)がベストでしょうね。いろいろ勉強になりました。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

formにnameをつけるのは今風ではない・・・せめてidで処理してみては? formの数がわかっていれば序数でも処理できます。 <a href="#" onClick="document.getElementsByTagName('form')[0].submit();return false;">クリック</a> <form> <input type="text" name="aaa" /> </from>

すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

<a>はリンクタグなので、リンク先にリンクしようとするからでは? formのsubmit用にはsubmitボタンがあるので、それを利用するのが普通。 わざわざform外に出す必然性が不明。 ご提示のものも、form内の最初にsubmitボタンを記述すればすむはず。 そうすれば、javascriptなども使わないですむ。 おまけ  document.forms['frm'].submit();  return false;

mori1115
質問者

補足

早速のご解答ありがとうございます。 リンクタグの理由はビジュアル的な問題です。 機能的にはtype="submit"やtype="img"でよいのですが、ビジュアル的にボタンが重苦しいのでわざわざリンクにしております。 ご指摘頂きました点を修正し再度動作確認を行ってみます。

すると、全ての回答が全文表示されます。

関連するQ&A