水曜以外もどうでしょう

北海道発。食べ歩きの記録グルメ情報や北海道の見どころなどをメモ替わりに書いています。

PREV | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
応援宜しくお願いします。ポチ↓↓
fC2ブログランキング にほんブログ村 グルメブログ 北海道食べ歩きへ 人気ブログランキングへ


| スポンサー広告 | --:-- | comments(-)| trackbacks(-)| TOP↑

≫ EDIT

onchangeとonclickの動作の違いにハマる

javascriptを使って、
「ある操作をしたら表示が切り替わる」
という処理をしたくて、うまく行かずにハマってしまった。


やりたかったのは、申込フォームのような物で、
「同意する」のチェックボックスを押した時だけ、submit用のボタンが現れてフォーム送信ができるようになること。

ソースは以下の様な感じ。


function change_flag() {
    if( document.forms[0].flag.checked == true ) {
        document.getElementById("send").style.display = "block";
    }
    else {
        document.getElementById("send").style.display = "none";
    }
}


<input name="flag" type="checkbox" value="1" onchange="change_flag()" />同意する<br />

<div id="send">
<input type="submit" alt="送信">
</div>


チェックボックスのinputに onchangeでjavascriptの関数を指定していた。


このとき、
Firefoxでは、チェックした直後にボタンが現れる。
一方、IE 8では、チェックをした後「ページ内をマウスでクリックすると」ボタンが現れる。

Firefox側の動作を期待していたので、「なぜIEではだめなんだー」といろいろと試行錯誤した。

webでは、似たような状況の説明もあり、納得。

管理人の生活日誌 | beatmaniaやSEOやプログラムとか
http://www.ko-tan.com/article/122131543.html


そうか、onchangeとonclickはそういう違いがあるのか。。

今回の件、自分ではonclickとタイプしたつもりで、onchangeと打ち込んでいた。
それが間違いだった。

2、3時間ハマってしまった。

もったいない。

スポンサーサイト
応援宜しくお願いします。ポチ↓↓
fC2ブログランキング にほんブログ村 グルメブログ 北海道食べ歩きへ 人気ブログランキングへ


| web系 | 01:12 | comments:0| trackbacks:0| TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://vmemo.blog36.fc2.com/tb.php/399-17e2d288

TRACKBACK

PREV | PAGE-SELECT | NEXT

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