人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

htmlで日付の入力フォームを作成しています。
「mm/dd」「mm/d」「m/dd」「m/d」
の形式で入力された日付を
[yyyy/mm/dd]に変換したいです。
直接[yyyy/mm/dd]と入力した場合や空欄の場合
は変換を行わないようにしたいです。

http://q.hatena.ne.jp/1168423287

以前にも同じような質問をして、その時は解決
したのですが、新たな問題として、

「mm/dd」「mm/d」「m/dd」「m/d」入力時は
正しく[yyyy/mm/dd]となるのですが、

・直接[yyyy/mm/dd]と入力した場合
・「mm/dd」と入力して[yyyy/mm/dd]と変換され たあとに[dd]だけ修正した場合
・フォーカスした後、何も入力せずにカーソルを
はずした場合

などに意図しない数値に変換されてしまいます。
これを回避するためのソースを教えていただけないでしょうか。


たびたび同じような質問で恐縮なのですが、
ご存知の方がいらっしゃたらご教授いただけないでしょうか?
よろしくお願いします。

●質問者: kalkal
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:DD HTML MM カーソル ソース
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●150ポイント

/が1個のときだけ変換するようにすればいいかな

<html>
<head>
<script Language="javaScript">
<!--
function formdate( object ){
m_d = object.value.split("/");
date = new Date();
year = date.getFullYear();
if(m_d.length == 2){
month = m_d[0];
if(month.length == 1){
month = "0" + month;
}
day = m_d[1];
if(day.length == 1){
day = "0" + day;
}
object.value = year + "/" + month + "/" + day;
}
}
// -->
</script>
</head>
<body>
<input type="text" onChange="formdate(this)" />
</bocy>
</html>
◎質問者からの返答

ありがとうございます!

さっそく実験してみましたらちゃんとできました。


2 ● j_kimi
●150ポイント

こんな感じではどうでしょうか。

http://td200wr.zapto.org/html/work/test03.html

◎質問者からの返答

サンプルまで作っていただいて

本当にありがとうございます!

yyyy/mm/d

と入力した時もyyyy/mm/ddに変換

できるのですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ