JavaScriptのonclickイベントについてですが、
<form name="fm">
<input type="button" name="bt" value="開始" onclick="Change(1)">
という感じのフォームで、ボタンを押すとChange関数の方で、
if(f == 1) {
document.fm.bt.value="停止";
document.fm.bt.onclick="Change(0)"; //(A)
として、onclickイベントの内容を変更したいのですが、
実際には上のような(A)の文では、
エラーは出ませんが、イベントの実行はできません。
onclickイベントの変更方法をご教授下さい。
ちなみに、プログラム自体は別の方法で対処しましたので、
「もっといい方法がある」というご回答は結構です。
それと、もう一つ教えていただきたいのですが、上の例で、
document.writeln(document.fm.bt.onClick);
と実行すると"undefined"と表示されますが、
document.writeln(document.fm.bt.onclick); //(onClickのCが小文字)
と実行すると"function anonymous() { Change(1) } "と表示されます。
大文字と小文字で、なぜ動作が変わるのでしょうか?
ご教授下さい。
No.3ベストアンサー
- 回答日時:
document.fm.bt.onclick = new Function("Change(0);");
としてみてください。
私もわからなくて色々試してこうなりました。
勉強になりました。
別の方法ってinnerHTMLですかね?
この回答への補足
ご回答ありがとうございます。
見事に解決しました。勉強になりました。
ちなみに別の方法とはinnerHTMLではなく、もっとシンプルで、
if(document.fm.bt.value == "開始") {
document.fm.bt.value="停止";
・ ・ ・
・ ・ ・
}
else {
document.fm.bt.value="開始";
・ ・ ・
・ ・ ・
}
として、Change関数の引数をなくしました。
グローバル変数を使っても良かったのですが、
これの方がシンプルかと思いました。
開始と停止の切り替えをするだけでしたので、
無理にonClickイベントの内容を変更する必要はなかったということです。
勉強不足でした。
ちなみに、報告ですが、
document.fm.bt.onClick=new Function("Change(0);");
と、onClickを小文字にした場合、エラーは出ませんが、
イベントの変更はできませんでした。
やっぱり、小文字の方が正しいようですね。
No.5
- 回答日時:
大文字小文字の件ですが
JavaScriptとHTMLはべっこと思ってください。
それぞれの仕様通りにしないと動きません。
仕様はリファレンス本等を見て確認することです。
まぁ、動かないということは仕様外だということです。
> リファレンス本などは大文字の方が多用
これは、HTML内に記述するイベント属性のことだと思います。(onClick等)
HTMLの記述については大文字小文字は意識しなくていいです。
ただし、JavaScript内では、オブジェクトのセッターやゲッターを使用する場合は仕様に従わないといけません。もちろん大文字小文字の違いもです。
JavaScriptのリファレンス本では大文字小文字は統一されていると思います。(多分 ^^;)
JavaScriptとHTMLはべっこなんですね。
おっしゃる通り、そういえば、手持ちの
リファレンス本で大文字で記述されているところは、
全て、HTMLタグ内ですね。
ちょっと、混同してました。
とても、参考になりました。
No.4
- 回答日時:
onclickとonClickの違いについてですが、動く方が正しい。
つまり、onclickの方が正しいということになると思います。HTML上に書く場合にはどちらでも良いですが、JavaScriptで操作する場合には他にもこんな場合があります。
document.all.Txt_Test.readonly = false;//間違い
document.all.Txt_Test.readOnly = false;//正しい
readonlyの切り替えですが、HTML上はreadonly,readOnlyと両方指定できますが、JavaScriptではreadOnlyでなければ認識してくれません。
他にもありますが、私の場合、わからなくなったら、googleで検索して、かたっぱしから実行しています。
この回答への補足
※※※※※※ 訂正 ※※※※※※
ANo.#3補足の
> ちなみに、報告ですが、
>
> document.fm.bt.onClick=new Function("Change(0);");
>
> と、onClickを小文字にした場合、エラーは出ませんが、
> ~~~~~~
> イベントの変更はできませんでした。
下線部は「大文字」の間違いです。
この場をお借りして、訂正致します。
※※※※※※※※※※※※※※※※
readOnlyの場合は"O"だけ大文字なんですか。
なにか、命名ルールに一貫性がないような気が。
どちらか分からない場合、かたっぱしからやったほうが早いですね。
とても、参考になりました。
No.2
- 回答日時:
JavaScriptの関数内で使用されるオブジェクトがプリコンパイラ内で小文字で定義されているからだと思います。
ちなみに、valueも大文字が混じっていたりしたらだめだったと思います。
また、変数名や関数名など自由に決めれるものも大文字と小文字は別の文字として扱われます。
この回答への補足
ご回答ありがとうございます。
ということは、"onClick"に限っては、"C"が
小文字での使用のほうがトラブルが少ないということでしょうか?
リファレンス本などは大文字の方が多用されているように思うのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript jsで質問です。 ボタンが二つ存在し、両方のボタンがクリックされたことをチェックしたいのですが、どの 4 2022/11/22 10:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Latexに関する質問です。
-
乗換案内 VBAで操作したい
-
excle VBA とweb上の検索を利用...
-
NN4.78で動きません・表示され...
-
DOM要素を削除しても、イベント...
-
CSSをあとから読み込みたい。
-
自然数を序数に
-
Null またはオブジェクトではあ...
-
iframeのソースを取得したい
-
WSHのIEオブジェクト操作後のク...
-
TEXTAREA内の改行位置をinnerHT...
-
javascriptのdocument.allにつ...
-
変更したstyleの値を変更前に戻...
-
連動するセレクトボックスの内...
-
<a>タグのテキストを取得
-
window.openでタイトル名の指定
-
ActiveXobjectが作成できない
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
ASP+アクセスでのSQLコメントに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FireFoxのjavascriptで自動でキ...
-
Latexに関する質問です。
-
DOM要素を削除しても、イベント...
-
XMLでのAttributeを持ったNode...
-
TexでΣの添え字の位置直し
-
JavaScript window.openで開く...
-
javascriptの基本的なことだと...
-
Null またはオブジェクトではあ...
-
iframeのソースを取得したい
-
選択肢によってラジオボタンを...
-
文字を一文字ずつ表示
-
ラジオボタンでreadonlyの切替え
-
excle VBA とweb上の検索を利用...
-
responseTextについて
-
VBAのIE操作でframe構造のサイ...
-
サブウィンドウからのスタイル...
-
オンマウスについて
-
要素のリサイズをひろい、他の...
-
JavaScriptのdocument.all("変...
-
クリッカブルマップのリンク部...
おすすめ情報