[javaScript]日付をセット後、日付チェックする方法



0   名前: java初心者 : 2007/09/06(木) 13:06  ID:YGWxb6.K sub-3C
javaScriptに関するご質問させて下さい。

-処理の流れ---------------------------------------------------------
1.日付を入れる為のtextを2つ用意しました。
 (開始日付と終了日付です→いつからいつまでといった感じです)

2.画面表示時onloadにて、終了日付に現在日付、開始日付に現在日付から
10日前の日付がセットされます。

3.テキスト欄をクリックすると、自動的にカレンダーが表示され、
カレンダーから選択した日付が入力欄にセットされます。
yyyymmdd(直接入力は不可)

4.一度セットした日付で終了日付が開始日付よりも過去の場合、
自動的に開始日付が終了日付と同じ日付に修正される。
------------------------------------------------------------------------

-jsp--------------------------------------------------------------------
<html:text property="date1" onclick="getCalTyuumonS(this);" />
<html:text property="date2" onclick="getCalTyuumonE(this);" />
------------------------------------------------------------------------

-js---------------------------------------------------------------------
function getCalTyuumonS(target) {
showcalendar(target);

//終了日付が開始日付よりも過去の場合
if(document.forms[0].date1.value > document.forms[0].date2.value){
//開始日付を終了日付を同じにする
document.forms[0].date1.value = document.forms[0].date2.value;
}
}

function getCalTyuumonE(target) {
showcalendar(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を検討したのですが、
フォーカスが外れないと作動しない為、断念しました。

皆様、ご教授をお願い致します。

1   名前: 元帥 : 2007/09/06(木) 13:06  ID:YKFBtmBq sub-.y
http://www.tagindex.com/cgi-lib/q1bbs/patio.cgi?mode=view&no=3417
最近のスレッドでも、サーバーサイドとクライアントサイドの機能の違いを理解してWebプログラミングを行ってほしいと申し上げたのですが…
もっとも、java初心者さんがこれを読んだ保証はありませんが。
> <html:text property="date1" onclick="getCalTyuumonS(this);" />
このJSPのソースコードが、HTMLに出力された時、どのようなタグになるか確認してみましたか?
> document.forms[0].date1.value
そしてこれが取得するものは?

多分、下記で良かろうと思います。
<html:text name="date1" property="date1" onclick="getCalTyuumonS(this);" />

2   名前: まなちゃん : 2007/09/06(木) 13:06  ID:YGWxb6.K sub-3C
元帥様のおかげで、

解決することができました。

ありがとうございました。

3   名前: まなちゃん : 2007/09/06(木) 13:06  ID:YGWxb6.K sub-3C
元帥様のおかげで、

解決することができました。

ありがとうございました。

これにて終了でお願い致します。

一覧へ戻る