
FORMによる入力ページを作成しているのですが、日付入力の欄に「yyyymmdd」の形式で入力したものをフォーカスが移動した時点で、自動的に「yyyy/mm/dd」の表示形式に変更して表示し、なおかつフォームデータを送信したした時のデータは「yyyymmdd」の形式で送信したいと思っています。(※データベース上はyyyymmddの為)
同様のスクリプトを探してみたのですが、なかなか見つからず困っています。
Javascriptではなく、他の方法でも可能な方法があればそちらでもかまいません。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
onFucusとonBlurで整形するといいのでは?
もちろん応用で送信するときにyyyymmddにすることは
可能ですが、そもそも「データベース上はyyyymmddの為」
ということはなんのインジェクションもなしにデータ
ベースに挿入しようとしていますので、これは問題外。
破壊的なデータを送られてきたらどうするつもりでしょう?
送る側でやってもいいですが、送られてきた側がサーバー上
のプログラムでデータの整合性をみてスラッシュを
はずす方が効率的だと思います。
ただ普通はデータベースならDATE型で管理する物なので
この手の作業は発生しませんが・・・。
<script type="text/javascript">
function dateFormat(obj,flg){
var str0=obj.value
if(flg){
if(str0==""){
return
}else if(str0.match(/[0-9]{8}/)){
str1=str0.substring(0,4)+"/"+str0.substring(4,6)+"/"+str0.substring(6,8)
obj.value=str1
}else{
alert("8桁の数字を入力してください")
obj.value="";
}
}else{
str1=str0.split("/").join("");
obj.value=str1
}
}
</script>
<form>
<input type="text" size="15" onBlur="dateFormat(this,true)" onFocus="dateFormat(this,false)">
</form>
ご回答ありがとうございます。
おっしゃるとおりDB上へ登録する際にはなんらかのチェックが必要ですよね^^;サーバー上のプログラムでチェックするようにしたいと思います。
見た目の問題でユーザーが入力したデータが「yymmdd]のままだと不安がられやしないか?といったところからの発想でこのような要望をあげてみました。誰が入力しても「/」が入れば見た目で納得できるかなぁと・・。
あさはかですが・・。
回答いただいたスクリプトを利用させていただきたいとおもいます。
ありがとうございました。
No.2
- 回答日時:
「なおかつフォームデータを送信」するのなら、やはりきちんとした日付チェックが必要です。
>>1さんの数字の桁数だけでは不安です。閏年とか後で面倒なことにもなるし、
「/」で区切るなら、その瞬間を利用すればチェックもそう面倒でないはず。
老婆心ですが。
いえいえ、老婆心大歓迎ですよ。
日付のチェックは面倒ですよね。
だからといってはなんですが、どうしても色々な人達が提供してくれている日付チェックのソースに頼ってしまう自分がなさけないです・・・。
サーバー送信無しにそのようなチェックができればなおいいと思っていますので、徐々に変更していこうと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Excel(エクセル) Excelのテーブルについて 6 2023/07/07 08:37
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- Access(アクセス) アクセスで教えてください。 クエリで2日前を抽出する計算式を 入力して表示させると ちゃんとyyyy 1 2023/06/08 21:05
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Excel(エクセル) エクセルの表示形式について教えてください あるセルの「A」という値と、別のセルの「B」という値を組み 4 2023/02/21 21:55
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Javascript】A or Bの時に分岐
-
テキスト入力の補助について
-
テキスト入力フォームの値を画...
-
JSPとJavaScriptの連携について...
-
Javascript 郵便番号の入力欄で...
-
テキストボックスの中身を選択...
-
Webブラウザにてページのりロー...
-
strutsのhtmlタグのfileについて
-
日付入力欄の表示形式を自動的...
-
<input type="text">を選択した...
-
フォームから入力すると、入力...
-
テキスト領域に入力した値を利...
-
WebサイトにOutlookマクロ(V...
-
VBScript
-
テキストボックス入力を半角英...
-
テキストエリアに入力された語...
-
テキストボックスを無効にする...
-
javaでフォーム入力の確認と文...
-
javascriptで入力フォームが空...
-
return trueとreturn falseの用...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onClickとsubmitの処理順序
-
フォームの値が0だったら空白...
-
javascriptで入力フォームが空...
-
文末の改行コードを削除したい
-
JSPとJavaScriptの連携について...
-
日付入力欄の表示形式を自動的...
-
条件により、リンク先に画面遷...
-
Acrobat Java Scriptについて教...
-
PDFフォームで条件つき金額を表...
-
VBScript
-
テキストボックスを無効にする...
-
イベント発生時に入力待ち状態...
-
ラジオボタンによるフォームの...
-
Webブラウザにてページのりロー...
-
テキストボックス入力を半角英...
-
お願いします!Javascriptで月...
-
入力モード 自動 切り替え
-
strutsのhtmlタグのfileについて
-
JQueryで2つのテキストフィー...
-
onChange()メソッド
おすすめ情報