万年カレンダーを作ってるのですが、やりたいこととしてはform内のバリュー値を、if文で変数(日付)に変更してそれをFrom内のバリューに置き換えたいのですが、ifででた変数がValueにおきかえれません。
<form method="POST" action="jan_Edit.asp" id=submit>
<!--<input type="hidden" name="HDN" Value =<% = SBMT %> >-->
<input type="submit" value="PreviousYear" id=SUB1 name=SUB1>
<input type="submit" value="PreviousMonth" id=SUB1 name=SUB1>
<input type="submit" value="ThisMonth" id=SUB1 name=SUB1>
<input type="submit" value="NextMonth" id=SUB1 name=SUB1>
<input type="submit" value="NextYear" id=SUB1 name=SUB1>
</form>
dim SUB1
SUB1 = Request.querystring("SUB1")
if SUB1="ThisMonth" then
Response.Write("AA<br>")
SUB1 = ""
elseif SUB1="PreviousYear" then
Response.Write("bb<br>")
SUB1=YY1 ' YY1は去年です
elseif SUB1="PreviousMonth" then
Response.Write("cc<br>")
SUB1=MM1 'MM1は一か月前です
elseif SUB1="NextMonth" then
Response.Write("dd<br>")
SUB1=MM2 'MM2は一か月後です
elseif SUB1="NextYear" then
Response.Write("ee<br>")
SUB1=YY2 'YY2は一年後です
end if
No.3ベストアンサー
- 回答日時:
ん~
日付の年、月を記憶しておく要素をhiddenなどで用意しておいて使ったほうがよさそうに思います
SUB1で送信された内容によって 年の加減算、月の加減算を行って万年カレンダーを表示
といったロジックのほうがすっきりすると思います
<%
dim YY1, MM1, cmd
if Request.QueryString("Year")<>"" then
' GETで呼ばれた場合
' ttp://sample.jp/test.asp?Year=2008&Month=3
YY1 = Request.QueryString("Year")
MM1 = Request.QueryString("Month")
cmd = ""
else
' POSTで呼ばれた場合
' 送信データから 年、月、どのボタンかを取得
YY1 = Request.Form("Year")
MM1 = Request.From("Month")
cmd = Request.Form("SUB1")
if cmd<>"" then
select case cmd
case "+1 Year"
YY1 = YY1 + 1
case "-1 Year"
YY1 = YY1 + 1
case "+1 Month"
MM1 = MM1 + 1
' 12月を超えた場合の処理
if MM1>12 then
MM1 = 1
YY1 = YY1 + 1
end if
case "-1 Month"
MM1 = MM1 - 1
' 1月を超えた場合の処理
if MM1 < 1 Then
MM1 = 12
YY1 = YY1 - 1
end if
end select
end if ' cmd<>""
end if ' Request.QueryString("Year")<>""
if YY=0 then
' 初期値がない場合
dim dt
' 現在の日付で初期化
dt = now
YY1 = Year( dt )
MM1 = Month( dt )
end if
%>
<form method="post" id="myForm">
<input type="hidden" name="Year" value="<%= YY1 %>">
<input type="hidden" name="Month" value="<%= MM1 %>">
<input type="submit" name="SUB1" value="-1 Year">
<input type="submit" name="SUB1" value="-1 Month">
<input type="submit" name="SUB1" value="+1 Year">
<input type="submit" name="SUB1" value="+1 Month">
</form>
Year: <%= YY1 %><br>
Month: <%= MM1 %><br>
といった具合でいいのでは
ことこまかくご教授ありがとうございます。
hiddenを使って作成したら、問題なく要件を満たしました。
本当何回もありがとうございました。
No.2
- 回答日時:
> IF文で得た変数を、Value値(URLに渡す内容)に、変数を入れたいと
> 思っております。
> 現在は、URLにそのままPreviousYearが入ってしまうので、
> YY1、MM1などの変数のみを、URLに入れたいと思います。
ん~ 質問の趣旨がいまいち読み取れないのですが ...
この『Value値』とは具体的な何を指すのでしょう
SUB1に代入されるものということなのでしょうか
HIDDEN属性の HDNに設定したいってことですか
Postで行うのに『URLに入れたい』という意味が釈然としません
この回答への補足
回答ありがとうございます。
バリュー値ですが、下記になります。
Value値=NextYearなどのsubmitのバリュー内になります。なので、今回で言う[NextYear,NextMonth…]などになります。
hiddenは、コメントアウトしてるので無視してください。紛らわしく申し訳ない。
こちらを、if文で変数(YY1、MM1など)に変更し、YY1などをNextYearに置き換えたいと思ってます。
イメージとしてはいかになります。
例
<input type="submit" value="NextYear" id=SUB1 name=SUB1>
のNextYearの値を、YY1に変更したいと思ってます。
Submitを押した際、if文で変数(YY1など)の取得はできているのでIF文は機能しているのですが、IF文で得た変数(YY1,MM1など)が、Formのバリューの値にはいっていかないのですが、その際になにか必要な処理があるのでしょうか?
簡単に言うと、submitのValueに、YY1などの変数を入れたいのです。
hiddenを使ってもいいので、なにかいい案があったらお願いします。
最終的には、URLにhttp://hoge.asp?SUB1=YY1のようにして、1つのASPで、万年カレンダを作成しており、ボタンを押した時、URLに日付(YY1など)を渡して作成したいと思ってます。
まだ始めたばっかなのでうまく説明ができなく、なんども申し訳ないですが、ご回答お願いいたします。
No.1
- 回答日時:
Formの送信方法をPOSTで行っているのに
そのデータを受け取るのをQueryStringから取得しようとしているため
動作が思わしくないのでしょう
POSTの場合は Request.Formで受け取る
GETの場合は Request.QueryStringで受け取る
といった具合にします
redfox63さん、ご回答ありがとうございます。
PostでURLに渡してる内容を見るために、一度GETにした内容が残ってしまいましたが、現在はrequest.formに変更しております。
その、IF文で得た変数を、Value値(URLに渡す内容)に、変数を入れたいと思っております。
現在は、URLにそのままPreviousYearが入ってしまうので、YY1、MM1などの変数のみを、URLに入れたいと思います。
お手数ですが、再度お分かりでしたら教えてください。
よろしくお願いいたします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに張り付けた写真のフ...
-
onedrive にexcelファイルをア...
-
ffftpでファイル取得が0バイト...
-
phpのファイルがブラウザで開か...
-
aspxをhtmlに変換する方法について
-
VBAでPDFを作成する際、同じ名...
-
VB.NETでMSComm が追加できず?
-
Windowsで複数のファイルを同じ...
-
Excelにて、シート間で、データ...
-
マクロで同じフォルダにある画...
-
discordについての質問です。久...
-
エクセル・アプリケーションエ...
-
キヤノン アソビカメラ iNSPiC ...
-
.NETでWEB開発するにあたり、必...
-
VBAでPDF作成をしたあと、指定...
-
Windows10にデュアルブートでXP...
-
windowsの立ち上げ時のエラー
-
SPO2測定
-
高校1年生情報の問題について。
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javasqliptで複数のテキストボ...
-
一括で値を入力するには?
-
1つのformで複数のactionを実...
-
動的にnema属性が変化する場合...
-
同一ページの複数フォームを一...
-
inputタグのclass名にコロン「:...
-
javaScriptで検索結果の保持
-
今日の日付をセットしたいのですが
-
グーグルでの化け文字対策は?
-
親ウィンドウで動的に作成したh...
-
Document.Writeの使い方を教え...
-
VBAで・・・
-
リクエストパラメータの値によ...
-
検索スクロール
-
input タグで「空白を含む変数...
-
同じ名前が複数あるインプット...
-
C#でHTML操作
-
サイト内検索の設置
-
オートコンプリート(自動補完...
-
Googleのサイト内検索機能の貼...
おすすめ情報