先ほど、データの受け渡しについて質問しました。
さっそく試してみたのですが、うまく受け渡せないのです。
受け渡したいデータは2つあり、共にテキストボックスなのですが、「disabled」で入力不可にしてあります。
それが原因なのでしょうか??しかし、入力不可は仕様なので変えられないんです。
何か良い方法がありましたら、教えてください。
よろしくお願いします。

A 回答 (6件)

横槍を入れるようで心苦しいですが、「disabled」 にすると送信されないと思います。


送信するデータを入力不可とするには、「readonly」にすればいいと思います(グレー表示に
なりませんが、必要でしたら、スタイルシートでグレー表示にすればいいと思います)。

この回答への補足

回答ありがとうございます。
「readonly」というものがあるなんて、知りませんでした。勉強になりました。
ところで、スタイルシートとはなんですか??
よく耳にするんですが、何のことなのかよく知りません。
スタイルシートでグレー表示にする方法があるのでしたら、ぜひ教えていただきたいです。

補足日時:2000/12/14 16:16
    • good
    • 0

スタイルシートとは、HTMLの見た目を指定する仕掛けで、スタイルシートに対応


しているブラウザーであれば、どれでみても同じに見えるようにするものです。
指定する方法は幾つかありますが、一番分かり易いのが、タグに
「 style="・・・・" 」というのを記述する方法で、下の補足で示されている A.asp
のソースでいうと

<input name=nen maxlength=4 style="HEIGHT: 20px; TEXT-ALIGN: right; WIDTH: 25px" value ="<%=nendo%>" disabled >

の、 style="HEIGHT: 20px; TEXT-ALIGN: right; WIDTH: 25px" がそうです。

で、色を変えるには例えば、

「 style="background-color: #CCCCCC;" 」

を指定するとそのタグの有効範囲の背景色がグレーになり、

「 style="color: #CCCCCC;" 」

を指定するとそのタグの有効範囲の文字色がグレーになります。

詳しくは、スタイルシートの辞典のような書籍をご参照された方がいいと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
よくわかりました。
さっそく使用してみました。
本当に助かりました。ありがとうございます。

お礼日時:2000/12/15 10:07

mishidaさんの書かれたようにSession変数を使う方法もありましたね。

サイトの中で参照される頻度の高いものはSession変数に入れてもよいと思います。

以下あくまでテキストボックスで渡す場合です。
> ちなみに、「hidden」でもう一つ同じ値を持たせたテキストボックスを用意し、
> そっちを受け渡すことはできました。
ということは、
<input type="hidden" name=nen2 maxlength=4 style="HEIGHT: 20px; TEXT-ALIGN: right; WIDTH: 25px" value ="<%=nendo%>">
と入れて
Request.Form("nen2")
といった感じで受け取ったわけですね。
とすると、試しにテキストボックスの「disable」をはずしてみてください。単に私が知らなかっただけで、「disable」属性が悪いのかも知れません。
あとはざっと見た限り、どこが悪いか分からないです。
私の方では現状テストできる環境がないので、何とも言えませんが。
がんばってやってみてください。
    • good
    • 0
この回答へのお礼

なんどもご親切にありがとうございました。
やはり「disable」が原因だったようです。
外してみたら、上手くいきました。

おかげで、なんとか値を受け渡す事ができました。
本当に助かりました。

お礼日時:2000/12/14 16:13

 #2は、前の質問向けに書きました。

すみません。atsuotaさんに異存はありません。
 ただし、入力不可とするのであれば、#2でもいいのではないかと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
Sessionオブジェクトは、使った事がないので使い方がよくわからないんです。
でも、そういう方法もあるということがわかって、勉強になりました。
本当にありがとうございました。

お礼日時:2000/12/14 16:16

 こんにちわ。


 以下のx1.asp、x2.aspのようにSessionオブジェクトを使うと、ページ間の値の受け渡しが簡単です。
 Session("x")=" "のように、Sessionオブジェクトに値を格納します。
 また、たとえば、Session("abc")とすると、Session("abc")も利用できるようになります。簡単に変数を追加できます。
 どちらも、IISの実行権のあるディレクトリに格納してください。

//file : x1.asp
<HTML>
<BODY>
<%
Session("x") = "100"
%>
100をセット<BR>
<a href="x2.asp">受け渡し先</a>
</BODY>
</HTML>

//file : x2.asp
<HTML>
<BODY>
値は<%= Session("x") %>
</BODY>
</HTML>
    • good
    • 0

先ほどの回答に2種類の方法がありましたが、marmi1516さんはどちらの方法を選ばれましたか。


「disabled」は多分関係ないと思います。

また、できれば該当フォームの部分と、受け渡される側の表示部分のソースの概略を書いてみてくれませんか。

この回答への補足

えっと、教えていただいた方法のうち、二つ目の方を使いました。
****「A.asp」の画面******************************
<table>
<tr>
<form action="B.asp" method="post" id=aaa name=aaa>
<td>
<input type="submit" value="送信" name=btn>
</td>
<td>
<input name=nen maxlength=4 style="HEIGHT: 20px; TEXT-ALIGN: right; WIDTH: 25px" value ="<%=nendo%>" disabled >
</td>
</form>
****「B.asp」の画面*******************************
<% nendo = Request.form("nen") %>
平成<%=nendo%>年度
**************************************************

という感じで作成したのですが・・・・
ちなみに、「hidden」でもう一つ同じ値を持たせたテキストボックスを用意し、そっちを受け渡すことはできました。

補足日時:2000/12/14 09:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QASPへのデータの受け渡しについて

以下のようなリンクが自動生成されるHTMLをつくりました。


http://**********/****/zzz.asp?A=5,B=nande

zzz.aspの内部で

A=request.querystring("A")
B=request.querystring("B")

と記述して、受け渡しを完了しているのですが、
Aについては数値として扱いたいのですが、
チェックをしていると、どうも文字列として変数の中に格納されているようです。

ここで質問です。


(1)requestオブジェクトを使って値の受け渡しをした場合
すべて受け渡し後は文字列としてしか扱えないのでしょうか?

(2)文字列としてしか扱えない場合、数値として受け渡し後に
扱いたい場合の対処方法はあるのでしょうか?

ちなみに受け渡しの時のMethodはGetを使っています。

よろしくお願いします。

Aベストアンサー

>>>ところで、「zzz.asp?A=5,B=nande」の部分ですが、「zzz.asp?A=5&B=nande」ではないですか?

>ご指摘の通りです。

実は、ここが間違っているせいかと思ってたんですが、そうではないのですね。

「型が一致しません。: 'cint'」というエラーですが、引数部分が空文字列であったり、数値に変換できない文字列を指定した場合に発生します。
Request.QueryStringでパラメータ自体が(文字列としても)正しく取得できていないような気がするのですが・・・。

次の点、もう一度確認してみて下さい。

(1).zzz.aspへのパラメータが正しく行われているか?
  zzz.aspが開かれている状態(エラーメッセージが出ててもかまいません)の画面を右クリックし、プロパティを表示。
  この時にアドレスが「http://**********/****/zzz.asp?A=5&B=nande」になっていなければ、呼び出し元のプログラムも疑ってみてください

(2).QueryStringでパラメータが正しく取得できているか?
  Response.Write "A: """ & Request.QueryString("A") & """<br>"
  Response.Write "B: """ & Request.QueryString("B") & """<br>"
  のようなコードを埋め込んで、A, Bのパラメータがどのようになっているか確認
  Aに数字が入っていますか?

それと、
>ちなみに受け渡しの時のMethodはGetを使っています。
とありますが、呼び出し元では

<form action="http://**********/****/zzz.asp?A=5&B=nande" method="get">
<input type="submit">
</form>

というような記述をしてはいませんか?この場合、正しくパラメータが渡らないかもしれません。

とりあえず、思いついたことを書いてみました(^^;

>>>ところで、「zzz.asp?A=5,B=nande」の部分ですが、「zzz.asp?A=5&B=nande」ではないですか?

>ご指摘の通りです。

実は、ここが間違っているせいかと思ってたんですが、そうではないのですね。

「型が一致しません。: 'cint'」というエラーですが、引数部分が空文字列であったり、数値に変換できない文字列を指定した場合に発生します。
Request.QueryStringでパラメータ自体が(文字列としても)正しく取得できていないような気がするのですが・・・。

次の点、もう一度確認してみて下さい。
...続きを読む

Qデータの受け渡し

あまり上手く説明できないのですが、Aの画面のデータをBの画面へ渡すにはどのようにしたら良いのでしょうか??
どなたかよろしくお願いします。

Aベストアンサー

方法は2通りあります。
で、「Aの画面のデータ」がフォーム(チェックボックス、ラジオボタン、テキストボックスなど)の内容であると仮定します。(違ったら補足してください。)

まず1つはQueryStringを使う方法です。
例:
ファイルA(a.asp)
<form action="b.asp" method="get">
<input type="text" name="hoge">
<input type="submit">
</form>
ファイルB(b.asp)
<% string = Request.QueryString("hoge") %>
あなたはさっき<% = string %>と入力しましたね!

上の例では、「a.asp」のテキストボックスに「hello」と入力して送信すると、「b.asp?hoge=hello」というURLにジャンプします。ファイルBでは?以下を、Request.QueryString("xxx")によって読みこみます。

2つ目はFormを使う方法です。
例:
ファイルA(a.asp)
<form action="b.asp" method="post">
<input type="text" name="hoge">
<input type="submit">
</form>
ファイルB(b.asp)
<% string = Request.Form("hoge") %>
あなたはさっき<% = string %>と入力しましたね!

上の例では、「a.asp」のテキストボックスに「hello」と入力して送信すると、「b.asp」というURLにジャンプします。このとき「hoge=hello」というような情報が一緒に送信されていて、ファイルBではRequest.Form("xxx")によって読みこむことができます。

方法は2通りあります。
で、「Aの画面のデータ」がフォーム(チェックボックス、ラジオボタン、テキストボックスなど)の内容であると仮定します。(違ったら補足してください。)

まず1つはQueryStringを使う方法です。
例:
ファイルA(a.asp)
<form action="b.asp" method="get">
<input type="text" name="hoge">
<input type="submit">
</form>
ファイルB(b.asp)
<% string = Request.QueryString("hoge") %>
あなたはさっき<% = string %>と入力しましたね!

上の例では、「a.asp」のテキ...続きを読む

Qデータの受け渡しについて

全くの初心者にHELPをお願いします。
A=日本
のようなデータがありまして、
VBでは
Response.Write "<http://****.asp?country=" & A & ">"
のような感じにすると指定のページにて
country=日本といったように引渡しができていましたが、
ASPではどのようにやるのでしょうか?
まったくわかっていないので質問自体が見当違いでしたらそれもあわせてご指摘ください。
.asp?以降が5%%E・・・みたいな文字化け(?)にならなくてもかまわないので教えてください。

Aベストアンサー

ASPも言語は基本的にVBScriptなので、同じですよ。
VBはよく知らないのですが、ASPでは<A>か<FORM>でデータを送る事になります。

Response.Write ("<A HREF=""menu.asp?country=" & A & """>データを送る</A>")

受け取る側
A = Request.QueryString("A")

Q子ウィンドウから親ウィンドウへ値を受け渡す

始めまして、
現在、ASPにてWebアプリの作成を行っております。
こちらの過去ログ(No.289153)にて親から子への処理は出来たのですが、その後、子ウィンドウでデータを選択して元の親ウィンドウへデータを渡して表示および処理を行いたいのですが、方法がわかりません。
参考になるページやサンプルがあったら教えていただけないでしょうか?
よろしくお願いいたします。

Aベストアンサー

親ウィンドウは子ウィンドウから何をされたいのかによって方法の細かい部分が変わると思います。

親ウィンドウは子ウィンドウからのアクションで、
1. http://hoge/hoge.asp?key=xxxx にアクセスする。
2. 現在のページのテキストボックス(など)に値を入れる

大雑把に言うとてな感じで分かれるかな。

親ページは子ページから「opener」で制御できます。
親ページ内に
function hoge(newValue)
{
document.form.a.value = newValue;
}
って関数があれば、子ページ内で
function setValue(value)
{
window.opener.hoge(value);
}
てな関数で親フォームの関数「hoge」を実行できるし、その関数に値を送る事ができる。

じゃなくて、親ページを再読み込みさせたいとか、別のページに移動させたいのであれば、子ページ内から
window.opener.location.href="http://hoge/hoge.asp?key="+data;
とか。

どうでしょう。
# コードは検証してませんので、雰囲気だけ汲み取ってください(^_^;;
# 普段から JavaScript も書いたことないですし・・・

http://homepage2.nifty.com/yoshi-m/makehp/javascript/lesson/28.htm
http://homepage2.nifty.com/yoshi-m/makehp/javascript/lesson/29.htm

親ウィンドウは子ウィンドウから何をされたいのかによって方法の細かい部分が変わると思います。

親ウィンドウは子ウィンドウからのアクションで、
1. http://hoge/hoge.asp?key=xxxx にアクセスする。
2. 現在のページのテキストボックス(など)に値を入れる

大雑把に言うとてな感じで分かれるかな。

親ページは子ページから「opener」で制御できます。
親ページ内に
function hoge(newValue)
{
document.form.a.value = newValue;
}
って関数があれば、子ページ内で
function setValue(value)
...続きを読む

Qテキストボックスに入力された文章(改行、空白を含む)をデータベースに入れる

フォームにユーザーがタイプできるテキストボックスがあり、
タイプした情報をデータベースに入れるようにしてるのですが、
例えばユーザーがタイプした文字などは正常にストアされるのですが
改行や、スペースなどは保存されません。
どのようにすれば保存されるのでしょうか?
ご存知の方がいらっしゃりましたらアドバイスお願いいたします。

Aベストアンサー

ごめんなさい。ねぼけてました。Splitしてどうするorz
#1の発言は見なかった事にして下さい…。

DBには格納されているけれどHTML上で確認出来ない、というケースを想定しています。違ってたらごめんなさい。

#情報が少ないので推測するしかないのです
#せめてサーバ環境(ASP.Net(C#)+Accessとか)教えてもらえないと…。
#さらに出来れば失敗している箇所のソースを提示してもらえたらいいと思います。

If InStr(DB_Value, vbCrLf) > 0 Then
DB_Value = Replace(DB_Value, vbCrLf, "<br>", 1, -1, 1)
End If

If InStr(DB_Value, " ") > 0 Then
DB_Value = Replace(DB_Value, " ", "", 1, -1, 1)
End If


おすすめ情報