No.7
- 回答日時:
<input type="hidden" id="そのままに" name="CGIに渡す名前">
idとnameはそれぞれ指定できる
もしくは、スクリプトで、月と日に分ける?
この回答への補足
いいえ。
_pipi_さんのスクリプトが使えるのであれば分けません。
idをtoday_from_serverのまま、nameをつけると確認画面では2009/2/27となり、idもnameもつけるとフォームの方が○日後という表示になります。
<select>にnameをつけると、確認画面に○日後の○が表示されます。
No.6
- 回答日時:
メールフォームcgiがどうなっているかわからない。
hidden ではなくtextにして、display:noneにするとか?
なんとも・・・
この回答への補足
textにしてみたときは2009/2/26と表示されたテキストボックスが表示されました。display:noneですね。
それもしてみます。
CGIはフリーのahrefのものでフォームのname定義されたものを確認画面・メールに表示するタイプのものです。
それで、現段階で私がしていたのはselctで月・日を選べるようにしていたのですが、それだと確認画面やメールで月と日がばらばらに表示されるのです。当たり前なのですが。
○月○日と合成させたものを表示させることは出来ますが、ばらばらの値までも表示されてしまうので、どうすれば良いかと考えあぐね、ご質問差し上げたしだいです。
_pipi_さんのご回答をヒントにもう少し調べてみます。
display:noneにしてみたり色々試してみましたが、見たままの値をCGIに渡すことができません。
_pipi_さんの書いて下さったscriptをすっっっごく使いたいけど諦めるより他ないのでしょうか・・・
No.5
- 回答日時:
スクリプト側の補正をしなくてすむように変更
日付の区切り文字の追加
value="" にしました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>SetSelectTag</title>
<body>
<form>
<p>
<input type="hidden" id="today_from_server" value="">
<select id="after_day">
<option value="">配送希望日</option>
<option value="3">3日後</option>
<option value="4">4日後</option>
<option value="5">5日後</option>
<option value="6">6日後</option>
<option value="7">7日後</option>
<option value="8">8日後</option>
<option value="9">9日後</option>
<option value="10">10日後</option>
<option value="11">11日後</option>
<option value="12">12日後</option>
<option value="13">13日後</option>
<option value="14">14日後</option>
</select>
</p>
</form>
<script type="text/javascript">
//@cc_on
//全角空白はタブまたは半角空白に置き換えのこと
(function (init) {
/*@if(@_jscript)
document.attachEvent && attachEvent('onload', init);
@else@*/
document.addEventListener && addEventListener('load', init, false);
/*@end@*/
})(function () {
var today = new Date;
var d, o, w;
var date_val = [];
var date_str = document.getElementById('today_from_server').value;
var count = 1;
var the_options = document.getElementById('after_day').options;
if (date_str) {
date_val = date_str.split(/[\/\- ]/g);
--date_val[1];
} else {
date_val = [today.getFullYear(), today.getMonth(), today.getDate() ];
document.getElementById('today_from_server').value = date_val.join('/');
}
while (o = the_options[count++]) {
d = new Date(date_val[0], date_val[1], parseInt(date_val[2]) + parseInt(o.value));
w = d.getDay();
o.text = (d.getMonth() + 1) + '月' + d.getDate() + '日(' + '日月火水木金土'.substr(w,1) + ')';
o.style.backgroundColor = '#'+['fdd','fff','ddf'][1-!w+(w==6)]
}
});
</script>
この回答への補足
素晴らしいですね。表示された途端ため息が出ました。
途中不快な気分を味あわせてしまいましてすみません。
しかし、hiddenの場合メールフォームcgiだと確認画面やメールに表示されませんよね。(実行してみました。分からないけれども、nameを与えたりするとおかしなことになってしまいました。)
何か方法はありますか?
No.4
- 回答日時:
何日後? 実行しもしないで発言しているのですか?
ちゃんと書き換えてます。
自分も勉強している身なので、たいそうなことも言えませんし、
自分の書いたコードが、あなたのためになるかどうかなど、
私には関係ありません。
javascriptはページを閲覧したパソコンの時計を基準にしています
なので、type=hidden のところにサーバー側の時間を "年/月/日" で
指定しておかないと、ずれる可能性があります
その部分の記載がなければスクリプトが代替処理をしています
あくまでもjavascriptが動作しない環境のことをちょっとだけ
考えました。
No.3
- 回答日時:
私は答えのコードは書かないわよ。
書くのはあなた。
添削ならいくらでもしてあげるけど。
あせっている暇があったら1行でもコーディングするのよ。
脳汁出し切って考えるの。
そうやって努力したことって
のちのちすごく役に立つわ。
他人に教わってもそのときだけ。
期限が何なのか知らないけど
自分のために勉強するんじゃないの?
期限のために勉強するならやめてしまいなさい。
なんてえらそうなことは今だからいえるんだけどね。
教えたサイト
http://www.red.oit-net.jp/tatsuya/java/gyouji2.htm
には今日の日付の出し方、明日の日付の出し方が書かれているわ。
ということは14日後まで出せるわよね?
あとはプルダウンをJavaScriptで記述するだけよ。
<option>の入れ替えは
http://blog.justoneplanet.info/2007/12/11/select …
この辺りを参考にしてはどおかしら。
この回答への補足
確かに。
私も同じことを言うでしょうから、納得できます。
参考URL(特にoptionをjavascriptで入れ替えるなんてことが出来るんですね)で勉強します。
どのみち勉強しなくてはならなくなってくるだろうと思いますので。
今回は本当に時間が限られているため、何とか間に合わせることに専念します。
今後修正が出来るので、勉強後、さらにフォームを磨いていきます。
No.2
- 回答日時:
//@cc_on
(function (init) {
/*@if(@_jscript)
document.attachEvent && attachEvent('onload', init);
@else@*/
document.addEventListener && addEventListener('load', init, false);
/*@end@*/
})(function () {
var today = new Date;
var d, o, w;
var date_val = [];
var date_str = document.getElementById('today_from_server').value;
var the_date;
var start = 3;
var period = 14;
var count;
var the_options = document.getElementById('after_day').options;
if (date_str) {
date_val = date_str.split(/[\/]/g);
--date_val[1];
} else {
date_val = [today.getFullYear(), today.getMonth(), today.getDate() ];
document.getElementById('today_from_server').value = date_val.join('/');
}
for (count = 0; count <= period - start; count++) {
d = new Date(date_val[0], date_val[1], parseInt(date_val[2]) + count + start);
o = the_options[count + 1];
w = d.getDay();
o.text = (d.getMonth() + 1) + '月' + d.getDate() + '日(' + '日月火水木金土'.substr(w,1) + ')';
o.style.backgroundColor = '#'+['fdd','fff','ddf'][1-!w+(w==6)]
}
});
</script>
<input type="hidden" id="today_from_server" value="1996/3/4">
<select id="after_day">
<option value="">配送希望日</option>
<option value="3">3日後</option>
<option value="4">4日後</option>
<option value="5">5日後</option>
<option value="6">6日後</option>
<option value="7">7日後</option>
<option value="8">8日後</option>
<option value="9">9日後</option>
<option value="10">10日後</option>
<option value="11">11日後</option>
<option value="12">12日後</option>
<option value="13">13日後</option>
<option value="14">14日後</option>
</select>
この回答への補足
_pipi_さん、有難うございます。
ただ当初の質問の通り、○日後という表示でなく、3日後から14日後までの日付"を表示させたいのです。
お手を煩わせ申し訳ありませんが、お願いいたします。
No.1
- 回答日時:
まず
今日の日付、明日の日付の出し方の参考
http://www.red.oit-net.jp/tatsuya/java/gyouji2.htm
もちろん単に25に+1ずつしていってもいいけど
月の変わり目とかうるう年とか面倒だと思うので
このやり方をすればそこを考慮しなくてよくなるね。
もちろん月の変わり目とかをきちんと判定してやるのが
軽い処理ではあるんだけど
ミスが起こるよりはいいと思うわ。
この回答への補足
確かに・・・
こちらのサイトは私も何度か拝見しております。
使えるなぁと思うのですが。
ただ全くいじったことがないjavascriptで、期限を間近にして勉強がはかどらず焦っておりますT_T
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2022/04/01 12:11
- Excel(エクセル) Excel 入力した内容を保持したい 1 2023/06/23 12:27
- Excel(エクセル) Excelのプルダウンメニューの内容を人によって可変する方法 2 2023/03/28 14:52
- Excel(エクセル) Excelで質問です。 詳細(写真) ①黄色の部分を全てプルダウンを設定する。 ②リストはG列 ③リ 1 2023/06/16 21:54
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- ヤフオク! 関税 詐欺でしょうか?ヤフオク 3 2023/06/25 11:22
- Excel(エクセル) Excel VBAプルダウンの値を変えながら2枚ずつ印刷する方法? 4 2022/05/27 13:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【javascript】連想配列からセ...
-
selectボックスの選択結果を変...
-
javascriptでセレクトボックス...
-
selectを使った計算
-
リストボックス内の重複したも...
-
セレクトボックスで配列を呼び...
-
selectを変更不可にしたい
-
<input>の選択肢をプルダウンメ...
-
検索窓とプルダウンメニュー機...
-
Javascriptでフォームのセレク...
-
New OPTIONで作った<Select>の<...
-
複数のプルダウンメニューの組...
-
VBScriptでHTMLのセレクトボッ...
-
selectボックスで選択数を制限...
-
全てのselect要素をデフォルト...
-
セレクトメニューの選択項目変...
-
プルダウンで選択した項目にあ...
-
連想配列からセレクトボックス...
-
プルダウンの値をphpファイルへ...
-
セレクトボタンで特定の項目で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
全てのselect要素をデフォルト...
-
javascriptでセレクトボックス...
-
Selectボックスの一覧表示方法
-
JavaScriptで<select>の<option...
-
プルダウン選択を変更すると、...
-
select要素のvalueを配列で取得...
-
selectを変更不可にしたい
-
<input>の選択肢をプルダウンメ...
-
ラジオボタンとプルダウンを連...
-
【JS】selectでchangeした時の...
-
VBScriptでHTMLのセレクトボッ...
-
リストボックス内の重複したも...
-
同じ名前のセレクトがある場合...
-
プルダウンの値によって活性・...
-
selectが変更されたらnameを指...
-
【javascript】連想配列からセ...
-
3つのselectでURLパラメータを...
-
複数のプルダウンを1つにまとめ...
-
selectボックスで選択数を制限...
-
セレクトボックスで配列を呼び...
おすすめ情報