JavaScriptの最近のブログ記事

これは孔明の罠。

テキスト入力の

<input type="text" name="inputA" value="">

を設けて、この value を JavaScript で取得する場合、

var instr = document.inputA.value;

で取れていたものが、その HTML の先頭に

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


とかあったりすると取れなくなる!

DOCTYPEなんてCSSの解釈が変わるくらいにしか思ってなかったから、
まさかJavaScriptの動きまで変えてくるとは露ほども思わず。

簡単なサンプルページでは動作してるのに、
それを他のページに埋め込むと動かなくなるもんだから
もう意味ワカンネ!状態でした。

じゃどうすれば良いかというと、

<input type="text" id="inputA" value="">

として、スクリプト側では

var elm = document.getElementById('inputA');
var instr = elm.value;

とすればよろしい。
(実際こっちの方が汎用的な書き方らしいです。)


これで3時間くらい悩みましたよ。トホホ。。。

2017年2月

      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        

アーカイブ

エプソンダイレクト株式会社
Powered by Movable Type 5.2.10