気まま日記(kimamanikki)

気の向くままに、のんびり更新しますヽ(´∀`)ノ

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
07


スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

リンクでsubmitする

リンクタグ<a>でサブミットする方法です。

これ、色々方法あるのですが、ちょっと今回僕がやった方法で落とし穴があったのでメモ程度に。

失敗例
■HTML
<a href="javascript:void(0);" onclick="submitFunc();">文字列</a>

<form action="***" name="myForm">
    <input type="submit" name="submitBtn" />
</form>
■JavaScript
function submitFunc() {
    document.myForm.submitBtn.click();
}

これ、一見正常に動きそうですが、動きます。

これだけだと何言ってるか訳が分かりませんね

上記スクリプトは、IE7~もしくはFireFoxでは正常に動きます。

で、IE6では上記スクリプトでは動きません

で、ググってみたら同じ現象の方が沢山いらっしゃるようで、対処法も見つかりました。

以下、それを踏まえての修正です。

修正版
■HTML
<a href="javascript:void(0);" onclick="submitFunc(); return false;">文字列</a>

<form action="***" name="myForm">
    <input type="submit" name="submitBtn" />
</form>
■JavaScript
function submitFunc() {
    document.myForm.submitBtn.click();
}

違いがわかるでしょうか?

そう、onclickのイベントハンドラにreturn false;が追加されています。

どうやらIE6以下のブラウザの場合、このreturn false;がないとvoid(0)は上手く動かないみたいです。

なんちゅーかへ~と言うかやれやれと言うか・・・

そういえばIE8とFireFoxとはどれだけ差異が埋まったんだろうか?

Web開発者は違いが無い方が嬉しいのだけれども・・・

なんたってテストが面倒くさいからね。


Comments

Leave a Comment


Body

カウンター
セルフィ

 
Twitter



 
 
クラッチ作品集
 
 
プロフィール

クラッチ

気まま日記バナー

・クラッチ
このブログの管理人

 
 
管理人へメール
メールフォームを開く
 
 
ブロとも申請フォーム
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。