Javaスクリプト初心者ですが、自分で作成したページに
ダイアログメッセージを流すところまではうまくいきましたが
時間ごとに異なるダイアログメッセージを流す方法がわかりません。
どなたか知っている方いらっしゃいましたら教えてください。
お願いします

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ダイアログに表示する文字列を「msg」とし、以下のようなコードをはさんであげるとできると思います。



==============================================
var today=new Date();

var h=today.getHours();
if((h>5) && (h<=10)){
msg = "おはようございます。"
}
else if((h>10) && (h<=17)){
msg = "こんにちは。"
}
else{
msg = "こんばんは。"
}

//以下、メッセージ msg を表示する Script
==============================================
    • good
    • 0

時間ごとに異なる挨拶文を表示するスクリプトと、ダイアログメッセージを表示するスクリプトを組み合わせれば問題なくできると思いますよ。



ただ、個人的にはダイアログメッセージ(Assert文)の表示はそこで読み込みがストップするため、そのようなサイトにはあまり行かなくなると思います。何かボタンを押したらとか、そういった条件を付けてメッセージを変更するようにした方が見る人にとってはいいのではないでしょうか?
#始めからそのようにするつもりなのであれば、
#すいません。

ではでは☆
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qダイアログメッセージ

フォームの中に名前を書くテキスト欄があり、
送信ボタンを押すとダイアログにテキスト欄で記入した名前と
送信しますというメッセージが立ち上がり、
ダイアログ内のOKを押すと指定のCGIに飛ぶようにしたいのです。

ダイアログメッセージ↓
「○○様、フォーム内容を送信しても宜しいですか?」

直ぐに回答がほしいなどと勝手な事を申しましてすみませんが、お力を是非お貸しください。
よろしくお願いします。今現在もPCとにらめっこして格闘中なのです、泣。

お願いします。

Aベストアンサー

「送信ボタン」がtype="submit"なのかtype="button"なのかで処理が多少異なります。
どちらにせよやることは#1でBlackwinglsさんの書かれた通りなのですが。

<form name="form1">
<input name="user" value="名前入れるところ">
ってな感じだとします。

1.type="submit"の場合、
function onsubmitHandler(formName, inputName) {
var form = document.forms[formName];
var username = form[inputName].value;
return confirm(username+"様 以下略");
}
とします。その上で<FORM>タグの属性として(ボタンの、ではないのでお間違えなきよう)
onsubmit="return onsubmitHandler('form1', 'user')"
と指定します。

2.type="button"の場合(および画像でsubmit等の変則なことをする場合)
function confirmSubmit(formName, inputName) {
var form = document.forms[formName];
var username = form[inputName].value;
if (confirm(username+"様 以下略")) {
form.submit();
}
}
とします。その上で<INPUT>タグの属性として
onclick="confirmSubmit('form1', 'user')"
を指定します。

「送信ボタン」がtype="submit"なのかtype="button"なのかで処理が多少異なります。
どちらにせよやることは#1でBlackwinglsさんの書かれた通りなのですが。

<form name="form1">
<input name="user" value="名前入れるところ">
ってな感じだとします。

1.type="submit"の場合、
function onsubmitHandler(formName, inputName) {
var form = document.forms[formName];
var username = form[inputName].value;
return confirm(username+"様 以下略");
}
とします。その上で<FORM>タグの...続きを読む

Qダイアログメッセージを1度に2個

こんにちは。
ダイアログメッセージの表示って
window.aleat("メッセージ")
で表示できますよね。これを重複して表示することは可能でしょうか。
一度に2つ表示したいんです。重なっても、横にずれていても構いません。

Aベストアンサー

IEのセキュリティレベルをめいっぱい下げれば、javascriptでもJScriptでもVBscriptでもNo2さんの解答でうまくいくと思います。でも、
windows.popupはローカルなPCでのプログラムのための物だと思います。
どうしても、WindowsシェルのWindowが必要なのですね。

もし、javascriptで似たようなWindowを表示させたいだけなら、

var OK_tag = '<input type="button" value="OK" onclick="window.close();" style="position:absolute;bottom:20%;left:50%;" />';
var win1=window.open("", "_blank","width=200,height=200,dependent=yes,directions=no",
"location=no,menubar=no,scrollbars=no,status=yes,toolbar=no,resizable=no");
win1.document.writeln("てすと1");
win1.document.writeln(OK_tag);
win1.document.close();
var win2=window.open("", "_blank","width=200,height=200,dependent=yes,directions=no",
"location=no,menubar=no,scrollbars=no,status=yes,toolbar=no,resizable=no");
win2.document.writeln("てすと2");
win2.document.writeln(OK_tag);
win2.document.close();
でいけますよ。びっくりマークは別途自分で画像を準備しないと無理ですが...
※document.writeでなくDOM関数を使う方法もあります。(同じですが)

IEのセキュリティレベルをめいっぱい下げれば、javascriptでもJScriptでもVBscriptでもNo2さんの解答でうまくいくと思います。でも、
windows.popupはローカルなPCでのプログラムのための物だと思います。
どうしても、WindowsシェルのWindowが必要なのですね。

もし、javascriptで似たようなWindowを表示させたいだけなら、

var OK_tag = '<input type="button" value="OK" onclick="window.close();" style="position:absolute;bottom:20%;left:50%;" />';
var win1=window.open("", "_blank","width=2...続きを読む

Qダイアログの出し方について

あるjspファイルがありまして、そこで入力フォームがあるとします。その入力フォームにて、送信ボタンをクリックした際、空白で送信することを防ぐダイアログ(値を入力して下さい など)を出します。それと同時に、「送信しても宜しいですか?」というような、OKとキャンセルを選択させるダイヤログも出します。要するに、先に空白であるかどうかを判定し、その条件を満たした時に、送信するかどうかのダイヤログを出したいのです。どのように記述すれば良いのでしょうか?ちなみに、Strutsのフレームワークを使用しています。

onclick="javascript:if(confirm('送信しても宜しいですか?')){do(Form, 'commit')} return false;"

このように記述すると、送信するかどうかの選択ダイヤログは出るのですが、これから、どうやって空白を判断させるのが分からないです。具体的な記述方法を教えてください!!やっぱり、入力フォームのnameを使うんですかね?

Aベストアンサー

#1です。

>Strutsフレームワークを使用してる場合、通用しないですよね?

あ、失礼しました。勘違いして見当違いのことを言っていました。質問をよく読んでいなくて回答してしまい、お恥ずかしいです。

調べてみましたが、Strutsフレームワークにはまったく詳しくないので、以下見当違いでしたら笑ってください。

(1)http://muimi.com/j/jakarta/struts/struts6.html
の「3.JSPでJavascriptチェックをONにする」や
http://www.fk.urban.ne.jp/home/kishida/kouza/struts.html
の「4.1.JavaScriptで入力チェック」のように、空白送信の場合にアラートを出すスクリプトは標準装備のようです。

(2)
http://muimi.com/j/jakarta/struts/struts7.html
あたりを見るとscriptを直接書き込むことも出来るようですので、任意のスクリプトを書いておいて
<html:form action="xx" onsubmit="return スクリプト名(this)">
で動かせるのではないかと思うのですが……

#1です。

>Strutsフレームワークを使用してる場合、通用しないですよね?

あ、失礼しました。勘違いして見当違いのことを言っていました。質問をよく読んでいなくて回答してしまい、お恥ずかしいです。

調べてみましたが、Strutsフレームワークにはまったく詳しくないので、以下見当違いでしたら笑ってください。

(1)http://muimi.com/j/jakarta/struts/struts6.html
の「3.JSPでJavascriptチェックをONにする」や
http://www.fk.urban.ne.jp/home/kishida/kouza/struts.html
の「4.1.JavaScrip...続きを読む

Q確認ダイアログの出し方

下記の条件を満たす確認ダイアログの出し方を教えて下さい。

・フォームのボタンではなくリンクテキストで実行
・リンククリックでダイアログ表示、OK選択でリンク先に移動、キャンセル選択で移動なし(元のページを表示したまま)
・1つのページに複数記設置出来る(移動先は、それぞれ別)

Aベストアンサー

#1です。
済みません、うまく動かないみたいですね。
当方XP+IE6では、うまく動くのですが…
return false;については、最初かいていたのですが、なくても動くようだったので止めてしまいました。
でも、間違いだったようです。
MacのIEの動作はWinのIEと動作が異なるようですが、
以下を試して貰えませんか
<A href="test1.html" onclick="stepJump(this);return false;">リンク1</A><br>
<A href="test2.html" onclick="stepJump(this);return false;">リンク2</A><br>
<A href="test3.html" onclick="stepJump(this);return false;">リンク3</A><br>
に変更する

Qしばらくお待ちくださいダイアログ

よろしくお願いします。

web上で行うチェックプログラムを作成中なのですが、
チェック処理に時間がかかるため(~1分ぐらい)「しばらくお待ちください」のようなダイアログを表示させたいのですが可能でしょうか?

例えば、よくアプリなどをインストールする際に「次へ」を押して次の画面がアクティブになるまで「コピーしています、しばらくお待ちください」ダイアログを表示・・・みたいな感じのものです。

実際にはweb上で「チェック」ボタンを押して(=CGIが実行される)から、チェック画面結果のページがアクティブになるまで表示させるようにしたいです。

webサーバー・・・HP-UX
web・・・IE
CGI開発言語・・・Perl
開発端末・・・windows2000(Tera Term 使用)

どなたか情報をお持ちの方いらっしゃいましたら、
よろしくお願いいたします。

Aベストアンサー

開くのに時間がかかるページが表示されるまで
ダイアログを表示するということでよろしいでしょうか?
もしそうなら(違ったらごめんなさい)


<!-- 次ページを開く側 -->
window.open("wait.html","wait","top=300,left=300,width=100,height=100");
location.href="http://okweb.jp/";


<!--
wait.html
ダイアログページ
-->
<html>
<head>
<title>待っててね</title>
<script language="javascript">
<!--
function closeWait()
{
if(window.opener.closed)
window.close();
else
setTimeout('closeWait()',1000);
}
//-->
</script>
</head>
<body onLoad="setTimeout('closeWait()',1000)">
待ってます
</body>
</html>

ページが変わったらダイアログを閉じる操作です。

ただしIEなど一部のブラウザだと
window.opener.closedがバグで正しく使えないようです。

window.opener.closedについてはこちらの
「親ウインドウ有無の確認関数」で解決できます。
http://game.gr.jp/js-ml/samples/200102/openerTest.html

参考URL:http://game.gr.jp/js-ml/samples/200102/openerTest.html

開くのに時間がかかるページが表示されるまで
ダイアログを表示するということでよろしいでしょうか?
もしそうなら(違ったらごめんなさい)


<!-- 次ページを開く側 -->
window.open("wait.html","wait","top=300,left=300,width=100,height=100");
location.href="http://okweb.jp/";


<!--
wait.html
ダイアログページ
-->
<html>
<head>
<title>待っててね</title>
<script language="javascript">
<!--
function closeWait()
{
if(window.opener.closed)
window.close();
else
se...続きを読む


人気Q&Aランキング

おすすめ情報