横浜の業務用ソフトウェア開発やPHPを使ったWEBシステム開発・ホームページ制作ならアイ・エヌ・ワークスにお任せください。

横浜のホームページ制作ページ
  • home
  • 会社概要
  • 制作実績
  • 価格
  • ダウンロード
  • ブログ
  • お問い合せ
ホーム > ブログ

【横浜のWeb制作業者】ブログ

  • home
  • 横浜のホームページ制作・アイエヌワークス会社概要
  • 横浜のソフトウェア開発・アイエヌワークスの制作実績
  • 横浜のWebサイト制作・アイエヌワークスの価格
  • ダウンロード
  • 横浜のウェブ制作・アイエヌワークスのブログ
  • 横浜のWebシステム・アイエヌワークスへのお問い合せ

javascriptを書いていてIE8では動かないコード(バグ?)に遭遇しました。
調べてみたところ、Dateオブジェクトがうまく作成できていないようでした。
問題のコードはこちら。

var dt = new Date(“2011-01-23”);
alert(dt.getTime());

IE9でチェックしていたから気が付かなかったけど、IE8だとNaNになる…。

var dt = new Date(“2011/01/23”);

こちらではOK。
やはり、実際にブラウザでちゃんと試さないとだめですね。

 

window.openerを使えば親ページを簡単にハンドルすることができますが、親子関係のないページをハンドルする場合はどうすればよいか…。
少し悩んだのですが、下記のページに解答がありました。

http://chaichan.web.infoseek.co.jp/qa5500/qa5806.htm

要するに

ウィンドウAのjavascriptで

[javascript]
window.name = “window_a”;
[/javascript]
と自windowsの名前を定義

ウィンドウBからは

[JavaScript]
var window_a = window.open(“”, “window_a”);
[/JavaScript]

とすれば、ウィンドウAにアクセスできる。

 

以下の、フォーム送信の簡単なコードが動かないでしばらく悩んだのでメモ。

[JavaScript]
<script>
function dosubmit()
{
var form = document.getElementById(‘form1’);
form.submit();
}
</script>

<form id=”form1″>
<input type=”text” name=”text1″ />
<input type=”submit” name=”submit” value=”送信” />
</form>

<a href=”#” onclick=”dosubmit();return false;”>送信テスト</a>
(このリンクが動かない…。もちろんJavaScriptオンでも)
[/JavaScript]

なぜ動かないかわかりますか。

答えは、

<input type="submit" name="submit" value="送信" />

の 「name=”submit”」の部分。
これで form.submit が上書きされてしまうため送信ができないのでした。

やっぱりJavaScriptは嫌いだ。

 

あるdiv要素を中央寄せにしようとして、ちょっと悩んだので忘れないようメモします。

<style>

div#a {
    width:100%;
    text-align:center;
}

div#b {
    width:100px;
    border:1px solid #333;
}

</style>

<div id="a">
<div id="b">text</div>
</div>


これは、IEだと正しく中央寄せされるのに、Firefoxでは中央寄せされない。
なんでかな~と調べてみたら、FireFoxの場合は子要素の側でも、親要素の余白指定を使うかどうかをmarginで指定してあげないと思ったとおりの表示にならない。
そこで、styleタグの中に以下を追加する。


div#b {
    width:100px;
    border:1px solid #333;
    margin-left:auto;
    margin-right:auto;
}

これで期待通り中央寄せ表示される。