プロが教える店舗&オフィスのセキュリティ対策術

教えてください。
<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>

A 回答 (4件)

#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>

みたいな考えもあるのでは?

この回答への補足

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

ありがとうございました。

補足日時:2010/01/31 14:01
    • good
    • 0

「<input type="submit">がない<form>はsubmitしない」というブラウザベンダー独自のルールがあります。


IE6、Netscape7などがこのルールに従っていたと思います。(Safari1.0やOpera8.0も?)
W3C定義のHTML/XHTMLでは特に規定はありません。(送信してもしなくても良い)

<input type="submit" style="display:none;">を付けておくとどうでしょうか。

この回答への補足

ご回答ありがとうございます。
やはり、クロスブラウザの問題を考えると、submitボタンを作る方法が間違いありませんね。

方法は1),2)のどちらかでしょうか。
1)submitボタンをCSSで書き換える方法。

2)display:noneでsubmitボタンを見えなくしておいて、<a>にJSのonClickイベントでsubmitボタンをclick()する方法。

Javascriptはクロスブラウザ問題が多くあるので1)がベストでしょうね。いろいろ勉強になりました。

補足日時:2010/01/31 14:07
    • good
    • 0

formにnameをつけるのは今風ではない・・・せめてidで処理してみては?



formの数がわかっていれば序数でも処理できます。

<a href="#" onClick="document.getElementsByTagName('form')[0].submit();return false;">クリック</a>
<form>
<input type="text" name="aaa" />
</from>
    • good
    • 0

<a>はリンクタグなので、リンク先にリンクしようとするからでは?



formのsubmit用にはsubmitボタンがあるので、それを利用するのが普通。
わざわざform外に出す必然性が不明。
ご提示のものも、form内の最初にsubmitボタンを記述すればすむはず。
そうすれば、javascriptなども使わないですむ。


おまけ
 document.forms['frm'].submit();
 return false;

この回答への補足

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

補足日時:2010/01/19 16:21
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!