出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

チェックボックスの必須指定   ASP初心者さん [2005/03/15 19:45:17] [4941]
  Re:チェックボックスの必須指定   YasNet(管理人)さん [2005/03/15 21:43:12] [4942]
    Re:チェックボックスの必須指定   ASP初心者さん [2005/03/15 22:09:37] [4944]
      Re:チェックボックスの必須指定   ASP初心者さん [2005/03/15 23:21:59] [4945]
        Re:チェックボックスの必須指定   YasNet(管理人)さん [2005/03/16 8:39:17] [4948]
          Re:チェックボックスの必須指定   ASP初心者さん [2005/03/16 9:53:17] [4949]
            Re:チェックボックスの必須指定   YasNet(管理人)さん [2005/03/16 12:18:38] [4950]
              Re:チェックボックスの必須指定   ASP初心者さん [2005/03/16 12:39:09] [4951]
                Re:チェックボックスの必須指定   YasNet(管理人)さん [2005/03/16 13:02:41] [4952]
                  Re:チェックボックスの必須指定(お礼)   ASP初心者さん [2005/03/16 19:21:07] [4953]

[4941] チェックボックスの必須指定
投稿者:ASP初心者さん 2005/03/15 19:45:17
はじめまして。ASP(というより、プログラミング)初心者です。
どなたかご教授お願いします。
すごく単純な事だとは思うのですが、やりたい事は、以下になります。

フォーム(form.html)
----
<form name="test" method="post" action="test.asp">
<input name="a" type="checkbox" value="1">
<input name="b" type="checkbox" value="2">
<input name="c" type="checkbox" value="3">
</form>
----

ASP(test.asp)
----
'ここでa,b,cのすべてにチェックされていない場合のみ、エラーを返す
----

「a,b,cのどれか一つをチェックすること」を必須項目にしたいです。

どなたかご教授宜しくお願い申し上げます。

[4942] Re:チェックボックスの必須指定
投稿者:YasNet(管理人)さん 2005/03/15 21:43:12
こんにちは YasNet(管理人)です。

多分例の為3個固定なんですよね・・・勝手な推測
本当に3個だけなら、3項目のAND条件でVELUE値がNULLか否かを判定すればよいと思いますよ。

もう少し進化?させるなら
項目名(name)を同じにします。
例ではa.b.cですが、aだけにします。

そうすれば、配列で取得出来ますので
ループして個々にチェックして、NULLの件数をチェックすればよいと思います。

色々手段はありますので、これが正解とは言いません。
色々試してみてください。

参考になることを祈りつつ 失礼致します。

> はじめまして。ASP(というより、プログラミング)初心者です。
> どなたかご教授お願いします。
> すごく単純な事だとは思うのですが、やりたい事は、以下になります。
>
> フォーム(form.html)
> ----
> <form name="test" method="post" action="test.asp">
> <input name="a" type="checkbox" value="1">
> <input name="b" type="checkbox" value="2">
> <input name="c" type="checkbox" value="3">
> </form>
> ----
>
> ASP(test.asp)
> ----
> 'ここでa,b,cのすべてにチェックされていない場合のみ、エラーを返す
> ----
>
> 「a,b,cのどれか一つをチェックすること」を必須項目にしたいです。
>
> どなたかご教授宜しくお願い申し上げます。

[4944] Re:チェックボックスの必須指定
投稿者:ASP初心者さん 2005/03/15 22:09:37
こんにちわ。お返事ありがとうございます。

> 多分例の為3個固定なんですよね・・・勝手な推測
すみません、実際は7個です。
なので、ANDは使えないですよね?

> もう少し進化?させるなら
> 項目名(name)を同じにします。
> 例ではa.b.cですが、aだけにします。

これも試してみました。
ただ、例でASPになっている部分でその項目を出力するのですが、
そこで「チェックされていたら<br>をつけて出力」しなければいけません。

チェックは以下でかけられました。
if Request.form("a") = "" then errmsg = errmsg & "どれか選択してください。<br>"

が、出力するとき、他の項目は
<% = Request.Form("d") %>
で反映してくれますが、このチェックボックス部分だけうまくいかず悩んでいました。

よろしくお願いします。

#本当はサンプルのある本を買ってくればいいのですが、
#ASP.Netばかりで手に入りませんでした。
#(オンライン注文するほど時間に余裕もなくて・・・)

> こんにちは YasNet(管理人)です。
>
> 多分例の為3個固定なんですよね・・・勝手な推測
> 本当に3個だけなら、3項目のAND条件でVELUE値がNULLか否かを判定すればよいと思いますよ。
>
> もう少し進化?させるなら
> 項目名(name)を同じにします。
> 例ではa.b.cですが、aだけにします。
>
> そうすれば、配列で取得出来ますので
> ループして個々にチェックして、NULLの件数をチェックすればよいと思います。
>
> 色々手段はありますので、これが正解とは言いません。
> 色々試してみてください。
>
> 参考になることを祈りつつ 失礼致します。
>
> > はじめまして。ASP(というより、プログラミング)初心者です。
> > どなたかご教授お願いします。
> > すごく単純な事だとは思うのですが、やりたい事は、以下になります。
> >
> > フォーム(form.html)
> > ----
> > <form name="test" method="post" action="test.asp">
> > <input name="a" type="checkbox" value="1">
> > <input name="b" type="checkbox" value="2">
> > <input name="c" type="checkbox" value="3">
> > </form>
> > ----
> >
> > ASP(test.asp)
> > ----
> > 'ここでa,b,cのすべてにチェックされていない場合のみ、エラーを返す
> > ----
> >
> > 「a,b,cのどれか一つをチェックすること」を必須項目にしたいです。
> >
> > どなたかご教授宜しくお願い申し上げます。

[4945] Re:チェックボックスの必須指定
投稿者:ASP初心者さん 2005/03/15 23:21:59
すみません、自己訂正です。

以下に修正してテストしました。
フォーム(form.html)
----
<form name="test" method="post" action="test.asp">
<input name="a" type="checkbox" value="1">
<input name="a" type="checkbox" value="2">
<input name="a" type="checkbox" value="3">
</form>
----

ASP(test.asp)
----
'必須入力チェック
if Request.form("a") = "" then errmsg = errmsg & "どれか選択してください。<br>"

'項目を出力
<% Response.Write(Request.Form("a")) %>
----

としたら、複数選択時に
1, 2
という形式で出力されるのですが、これを<br>で出したいのです。

----
1
2
.
.
7
----
という感じです。

この場合の対処法を質問ばかりで申し訳ないのですが
どなたかご教授お願いします。


[4948] Re:チェックボックスの必須指定
投稿者:YasNet(管理人)さん 2005/03/16 8:39:17
こんにちは YasNet(管理人)です。

> <% Response.Write(Request.Form("a")) %>
> 1, 2
> という形式で出力されるのですが、これを<br>で出したいので

???
<% Response.Write(Request.Form("a")) %><br>
で良いのでは?・・・違うんだろうなぁ〜


それでは 失礼致します。


> すみません、自己訂正です。
>
> 以下に修正してテストしました。
> フォーム(form.html)
> ----
> <form name="test" method="post" action="test.asp">
> <input name="a" type="checkbox" value="1">
> <input name="a" type="checkbox" value="2">
> <input name="a" type="checkbox" value="3">
> </form>
> ----
>
> ASP(test.asp)
> ----
> '必須入力チェック
> if Request.form("a") = "" then errmsg = errmsg & "どれか選択してください。<br>"
>
> '項目を出力
> <% Response.Write(Request.Form("a")) %>
> ----
>
> としたら、複数選択時に
> 1, 2
> という形式で出力されるのですが、これを<br>で出したいのです。
>
> ----
> 1
> 2
> .
> .
> 7
> ----
> という感じです。
>
> この場合の対処法を質問ばかりで申し訳ないのですが
> どなたかご教授お願いします。
>
>

[4949] Re:チェックボックスの必須指定
投稿者:ASP初心者さん 2005/03/16 9:53:17
管理人様

何度もおつきあいいただきありがとうございます。
説明が下手で申し訳ありません。

> <% Response.Write(Request.Form("a")) %><br>
も試してみましたが、"a"にあたるものが複数あると
項目をカンマ区切りで表示してしまいます。

それでHTMLを"a""b"c"・・・と別にしたら必須指定がかけられなく
なってしまって、困り果ててこちらにお邪魔した次第です。

質問のしかたがわからなくて申し訳ありません。

> こんにちは YasNet(管理人)です。
>
> > <% Response.Write(Request.Form("a")) %>
> > 1, 2
> > という形式で出力されるのですが、これを<br>で出したいので
>
> ???
> <% Response.Write(Request.Form("a")) %><br>
> で良いのでは?・・・違うんだろうなぁ〜
>
>
> それでは 失礼致します。

[4950] Re:チェックボックスの必須指定
投稿者:YasNet(管理人)さん 2005/03/16 12:18:38
こんにちは YasNet(管理人)です。

最初のレスで説明したつもりの配列
ixは表示したい配列番号
Request.Form("a")(ix)
って事ではないのでしょうか・・・

違う?かな・・・本当にやりたい事が理解できていないので
回答に苦しんでおります。

お役に立てればよいのですが・・・

それでは 失礼致します。

> 管理人様
>
> 何度もおつきあいいただきありがとうございます。
> 説明が下手で申し訳ありません。
>
> > <% Response.Write(Request.Form("a")) %><br>
> も試してみましたが、"a"にあたるものが複数あると
> 項目をカンマ区切りで表示してしまいます。
>
> それでHTMLを"a""b"c"・・・と別にしたら必須指定がかけられなく
> なってしまって、困り果ててこちらにお邪魔した次第です。
>
> 質問のしかたがわからなくて申し訳ありません。
>
> > こんにちは YasNet(管理人)です。
> >
> > > <% Response.Write(Request.Form("a")) %>
> > > 1, 2
> > > という形式で出力されるのですが、これを<br>で出したいので
> >
> > ???
> > <% Response.Write(Request.Form("a")) %><br>
> > で良いのでは?・・・違うんだろうなぁ〜
> >
> >
> > それでは 失礼致します。
>

[4951] Re:チェックボックスの必須指定
投稿者:ASP初心者さん 2005/03/16 12:39:09
こんにちわ。

何度もおつきあいありがとうございます。

やりたい事は、以下になります。
・チェックボックスを複数設置する。
・どれか1つは選ばないとエラーになるようにする。(全て未チェックの場合にエラー)
・どの項目を選んだのかを表示する。複数の場合は改行を入れる。

□項目A
□項目B
□項目C
□項目D

で、項目Aと項目Bを選んだ場合
項目A
項目B
と表示させたい

という事です。

宜しくお願い申し上げます。

> こんにちは YasNet(管理人)です。
>
> 最初のレスで説明したつもりの配列
> ixは表示したい配列番号
> Request.Form("a")(ix)
> って事ではないのでしょうか・・・
>
> 違う?かな・・・本当にやりたい事が理解できていないので
> 回答に苦しんでおります。
>
> お役に立てればよいのですが・・・
>
> それでは 失礼致します。
>
> > 管理人様
> >
> > 何度もおつきあいいただきありがとうございます。
> > 説明が下手で申し訳ありません。
> >
> > > <% Response.Write(Request.Form("a")) %><br>
> > も試してみましたが、"a"にあたるものが複数あると
> > 項目をカンマ区切りで表示してしまいます。
> >
> > それでHTMLを"a""b"c"・・・と別にしたら必須指定がかけられなく
> > なってしまって、困り果ててこちらにお邪魔した次第です。
> >
> > 質問のしかたがわからなくて申し訳ありません。
> >
> > > こんにちは YasNet(管理人)です。
> > >
> > > > <% Response.Write(Request.Form("a")) %>
> > > > 1, 2
> > > > という形式で出力されるのですが、これを<br>で出したいので
> > >
> > > ???
> > > <% Response.Write(Request.Form("a")) %><br>
> > > で良いのでは?・・・違うんだろうなぁ〜
> > >
> > >
> > > それでは 失礼致します。
> >

[4952] Re:チェックボックスの必須指定
投稿者:YasNet(管理人)さん 2005/03/16 13:02:41
こんにちは YasNet(管理人)です。

あれれ、回答内容では、説明不足なのかなぁ〜
以下、未テストのサンプルソースコードですので
あくまでも参考情報としてご覧下さい。
これで意味が違うと困りましたねぇ〜

If Request.Form("a") = "" Then
Response.Write("必須エラー")
End If

For Each ix1 in Request.Form("a")
Response.Write(Request.Form("a")(ix1)) & "<BR>"
Next

それでは 失礼致します。

> こんにちわ。
>
> 何度もおつきあいありがとうございます。
>
> やりたい事は、以下になります。
> ・チェックボックスを複数設置する。
> ・どれか1つは選ばないとエラーになるようにする。(全て未チェックの場合にエラー)
> ・どの項目を選んだのかを表示する。複数の場合は改行を入れる。
>
> □項目A
> □項目B
> □項目C
> □項目D
>
> で、項目Aと項目Bを選んだ場合
> 項目A
> 項目B
> と表示させたい
>
> という事です。
>
> 宜しくお願い申し上げます。


[4953] Re:チェックボックスの必須指定(お礼)
投稿者:ASP初心者さん 2005/03/16 19:21:07
こんばんわ。お世話になります。

せっかく回答してくださったのになかなか理解できなくて
申し訳なかったです。
ご説明いただいた意味でよかったようです。

結局、以下で解決できました。

'エラーはまとめてリダイレクト
if Request.form("a") = "" then Response.Redirect "error.asp"

'項目「a」を配列にして<br>をつけて表示
For Each strAns In Request.Form("a")
Response.Write "<b>" & strAns & "</b>" & "<br>"
Next

何度も丁寧に解説してくださってありがとうございました。

> こんにちは YasNet(管理人)です。
>
> あれれ、回答内容では、説明不足なのかなぁ〜
> 以下、未テストのサンプルソースコードですので
> あくまでも参考情報としてご覧下さい。
> これで意味が違うと困りましたねぇ〜
>
> If Request.Form("a") = "" Then
> Response.Write("必須エラー")
> End If
>
> For Each ix1 in Request.Form("a")
> Response.Write(Request.Form("a")(ix1)) & "<BR>"
> Next
>
> それでは 失礼致します。



TreeBBS For ASP V.0.1.3
Program By YasNet