こんにちは。
今ローカルでasp.netの勉強をしているのですが、フォームでいきない躓きました・・・PHPはある程度使うことができます。
性別を配列にして
functionでフォームを表示させているのですが、選択後に初期値でcheckが入りません・・・
性別のラジオボタンを何も選択しなければ、デフォルトの値にチェックが入ります。
何がなんだかわからないので、ご教授をよろしくお願いします。
ソースは
dim sexArr '性別の選択用配列
sexArr = Array("男性", "女性") '配列設定
'配列からラジオボタンの作成
function getRadio(name, selectedVal, valArr, defaults)
getRadio = ""
if selectedVal = "" Then
selectedVal = defaults
END if
For i = 0 to UBound(valArr)
getRadio = getRadio & "<input type=""radio"" name=""" & name & """ value=" & i & " "
if selectedVal = i Then
getRadio = getRadio & "checked"
response.Write("あああ")
else
response.Write(selectedVal)
response.Write("いいい")
response.Write(i)
END if
getRadio = getRadio & ">"
getRadio = getRadio & valArr(i)
NEXT
END Function
表示部分に
<% = getRadio("sex", Request.Form("sex"), sexArr, 0) %>
としています。
デバック用に
<%
For i = 0 to 3
if Request.Form("sex") = i Then
response.Write("あああ")
else
response.Write("いいい")
END if
NEXT
response.Write( Request.Form("sex"))
%>
っとfaunctionを使わずにifをしてみましたが、結果は同じでした。
わかり難い文章で申し訳ございませんが、どうか、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
これは ASP.NET じゃなくて ASP ですよね?
VBScript も使ってますし。
ASP は何年も触っていないのでズバリな回答はできませんが、解決へ向かうためのヒントだけでも。
(1) getRadio 関数で受けた引数は意図する値になっているか確認。
function getRadio(name, selectedVal, valArr, defaults)
の次の行にでも
Response.Write(name) & "<br/>" & vbCrLf
Response.Write(selectedVal) & "<br/>" & vbCrLf
Response.Write(defaults) & "<br/>" & vbCrLf
For hoge = 0 To UBound(valArr)
Response.Write(valArr(hoge)) & "<br/>" & vbCrLf
Next
なんてデバッグ出力用のコードを書き足してみてください。
これを実行し、ブラウザに表示された値を見て、自分が意図している値かどうかを判断します。
(2) 意図している HTML と、実際に出力された(意図しない結果になる)HTML とを比べてみてください。
意図している HTML は手書きまたは WYSWIG なツールで静的な HTML を作ってください。
これらを比べれば、ASP が出力する HTML のどこがおかしいのかがわかります。
どこがおかしいのかが分かれば、該当する VBScript のコードが分かります。
回答ありがとうございます。自己解決したので、回答を見るのを忘れてました。
デバッグ用の出力はして、値は正常でした。
原因は何かわからなかったので、
判定のところに
if valArr(selectedVal) = valArr(hoge) then
と要素でチェックを掛けてやれば、動きました。
お礼が遅くなり申し訳ございませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列をループでたくさん宣言し...
-
$_SESSIONに二次元配列を使える...
-
【PHP】配列内のある値以上をカ...
-
漢字のソートについて
-
PHPにてクラスを配列にすること...
-
Smartyのテンプレートからjavas...
-
foreachのなかで次のキーを参照...
-
重複しないランダム関数を教え...
-
String だと「 ByRef引数の型が...
-
PHPで不動産検索を作っています...
-
PHPのPOSTでの半角スペース
-
読み(あ行~わ行)ごとに分け...
-
プルダウンメニューにDBの内容...
-
STLのvectorで作った配列をメン...
-
While文を使って配列の中身を全...
-
別ファイルの構造体の値を読み...
-
配列の要素(value)に、変数を...
-
マッチング処理(1:N)
-
◆速い、ファイル読み込みは?
-
VB.NET で 二次元のハッシュは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列をループでたくさん宣言し...
-
String だと「 ByRef引数の型が...
-
file_existsでファイル名の部分...
-
foreachのなかで次のキーを参照...
-
$_SESSIONに二次元配列を使える...
-
PHPのカッコ[ ]の使い方について
-
$_SESSIONについて教えて下さい。
-
配列を回すとき、最後の要素だ...
-
ネストが深い時のforeachはどう...
-
配列一致(要素順番は違うが内容...
-
PHPにてクラスを配列にすること...
-
配列の値の更新方法について
-
postgresql関数をつかったレコ...
-
PHPで配列をPOSTデータで送った...
-
PHP 多次元配列変数のデータ受...
-
漢字のソートについて
-
チェックボックスが複数選択で...
-
$_POSTを一括してサニタイズし...
-
smarty 同じ要素内で改行
-
配列のbindValue方法について
おすすめ情報