- 締切済み
if文でelseが実行されない
function jump(){ if (point_x != ""){ location.href="new_diary.php?x="+point_x+"&y="+point_y; } else { alert ("場所をダブルクリックで指定してください。"); } } このような文で、point_x != ""のときは別ページに飛んでくれるのですが、 elseのときにアラートが表示してくれません。 初歩的な質問だと思いますが、宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- venzou
- ベストアンサー率71% (311/435)
#4です。訂正します。 >if (point_x){ これだと point_x == 0 の場合も alert なってしまいます。 if ((point_x) || (point_x == 0)){ location.href="new_diary.php?x="+point_x+"&y="+point_y; } else { alert ("場所をダブルクリックで指定してください。"); }
- venzou
- ベストアンサー率71% (311/435)
>if (point_x != ""){ こう書くと""(空文字列)かどうかを調べています。 undefined(未定義)や null は "" とは別物ですよ。 if (point_x){ location.href="new_diary.php?x="+point_x+"&y="+point_y; } else { alert ("場所をダブルクリックで指定してください。"); } 単にこう書くと "" や undefined や null の場合alertが出ます。 ここで明示的に代入しておく方がプロラム的には良いかも。 if (point) { point_x = point.x; point_y = point.y; }else{ point_x = ""; point_y = ""; }
- ron3
- ベストアンサー率35% (7/20)
コードをみて、疑問に思ったんですが、 1.point_y とpoint_x は初期化(point_y=""とか)してますか? 2.Listenerのメソッドの中で、if (point)の行の前にalertでメッセージを出すようにして、座標が取れない操作をした場合、そのメッセージがでますか?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <html> <title>Test</title> <meta http-equiv="Content-script-Type" content="type"> <script type="text/javascript"> function jump(){ if (X != "") alert ("X is not null"); else alert ("X is null") } </script> <body onload="X='';jump('');X='A';jump('');"> </body> </html> さて、どちらもOKです。 だとすれば、X=''に相当する代入文はありますか?
- K-1
- ベストアンサー率21% (832/3844)
alertで文字列を囲んでるのは”じゃなくて’じゃありませんでしたっけ?
補足
ご回答有難う御座います。 "と'どちらで試してみても実行されませんでした。 また、location.hrefなどを使って試してみましたが、 elseのみ実行されませんでした。
補足
GoogleMapsAPIを利用し、ダブルクリックした位置が取得されるんですが、 位置が取得されていない状態だとアラート表示させる仕組みなのです。 <script type="text/javascript"> <!-- var map; function onLoad() { ~~省略~~ GEvent.addListener(map, 'click', function(overlay, point) { if (point) { point_x = point.x; point_y = point.y; } }); } function jump(){ if (point_x != ""){ location.href="new_diary.php?x="+point_x+"&y="+point_y; }else{ location.href="new_diary.php"; } } --> <a href="#" onClick="jump()">ジャンプ</a> このような感じにしているのですが、位置情報が取得されているときは 別ページにジャンプするのですが、 取得されていない状態では何も反応がないのです。 丸投げっぽい書き方ですみません。 </script>