- - PR -
[javaScript]textに日付をセット後、自動で日付チェックをする方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-08-20 10:39
javaScriptに関するご質問させて下さい。
-処理の流れ--------------------------------------------------------- 1.日付を入れる為のtextを2つ用意しました。 (開始日付と終了日付です→いつからいつまでといった感じです) 2.画面表示時onloadにて、終了日付に現在日付、開始日付に現在日付から 10日前の日付がセットされます。 3.テキスト欄をクリックすると、自動的にカレンダーが表示され、 カレンダーから選択した日付が入力欄にセットされます。 yyyymmdd(直接入力は不可) 4.一度セットした日付で終了日付が開始日付よりも過去の場合、 自動的に開始日付が終了日付と同じ日付に修正される。 ------------------------------------------------------------------------ -jsp-------------------------------------------------------------------- <html:text property="date1" onclick="getS(this);" /> <html:text property="date2" onclick="getE(this);" /> ------------------------------------------------------------------------ -js--------------------------------------------------------------------- function getS(target) { //カレンダーを呼び出す showcal(target); //終了日付が開始日付よりも過去の場合 if(document.forms[0].date1.value > document.forms[0].date2.value){ //開始日付を終了日付を同じにする document.forms[0].date1.value = document.forms[0].date2.value; } } function getE(target) { //カレンダーを呼び出す showcal(target); //終了日付が開始日付よりも過去の場合 if(document.forms[0].date1.value > document.forms[0].date2.value){ //開始日付を終了日付を同じにする document.forms[0].date1.value = document.forms[0].date2.value; } } ------------------------------------------------------------------------ 未解決の内容として、 項目4にある、入力チェックとなります。 下記記載の処理を行うと、 1.最初にonloadにて現在日付がセットされ、手動で カレンダーから終了日付を過去の日付にセットすると、 if文チェックはスルーされ、過去の日付がセットされる。 2.日付セット後に自動で入力チェックが走り、日付の修正を 行いたいのですが、チェックが走らず、再度、カレンダー を呼び出した際に、修正が入ってしまいます。 どのような処理内容にすれば、 日付のセット後、自動でチェックし修正するようになるのでしょうか? ※1.onchangeを検討したのですが、 フォーカスが外れないと作動しない為、断念しました。 皆様、ご教授をお願い致します。 [ メッセージ編集済み 編集者: java初心者 編集日時 2007-08-20 11:00 ] |
|
投稿日時: 2007-08-20 15:47
まずは
HTML化したソースでalert()を入れるなどをして デバックしてみてはどうでしょうか? そのときの処理の流れを読めば分かると思います。 なんとなく、showcal(target);で window.open()あたりをしている予感。 |
|
投稿日時: 2007-08-21 10:39
ご回答ありがとうございます。
HTML化したソースで確認をしてみます。 お忙しいところ、 ありがとうございました。 |
1