伝票入力する際、ACCESS等で作ると、例えば「得意先コード」を入力すると
「得意先名」が表示される。という画面がありますよね。
そこで先輩方にお伺いしたいのですが、
ASPを使って同様のことをやる場合、どんな手法があるのでしょうか?
私なりに考えた方法が2つほどあるのですが、これが正しいのでしょうか?
<案1>
・子ウインドウを表示し、そこでデータベースを参照し、親ウインドウに値を代入。
---親ウインドウ側---
<INPUT type="text" name="text1" onBlur="GetJTname()">
<INPUT type="text" name="text2">
<script language="JAVAScript">
function GetJTname(){
Newwin=window.open("test1_1.asp?a=" + document.form1.text1.value,"sample","width=240,height=180");
}
</script>
---子ウインドウ側---
<form name="form2">
<INPUT type="text" id=text1 name=text1 value="<%=rs.Fields("name_inf").Value%>">
</form>
<script language="JAVAScript">
function action(){
window.opener.document.form1.text2.value=document.form2.text1.value;
window.close();
}
</script>
<案2>
・自分自身にデータを投げる
<INPUT type="text" name="text1" onBlur="GetJTname()">
<INPUT type="text" id=text2 name=text2
QS=Request.QueryString("B")
value="<%if QS <>"" then %><%=Tname(QS)%><%end if%>">
<%function Tname()
<script language="JAVAScript">
function GetJTname(){
location.href ='test1.asp?B=' + document.form1.text1.value;
}
</script>
<%function Tname(code)
'... ADOの処理
end function%>
(案1)では、当然ながら一瞬ウインドウが開きます。
(案2)では、せっかく入力したTEXT1の内容が消えてしまいます。
No.2ベストアンサー
- 回答日時:
> 新たな画面を開いている関係上、レスポンスが悪いのが気になっていました。
姑息な手段の域を出ていませんが、こっそりフレームを切ってしまう、という手もあります。
どこでも良いんですが、左端とかにほそーく、かつ、ボーダを無しにして、そこのフレームで
処理を動かしちゃう。
あと、処理をするイベントは onBlur よりは onChange の方が良いでしょう。
onChange もフォーカスを失ったときにしか出てこないのですが、値が変わったときにだけ
出てきたはずです。
どちらにしても、Web ってこういう処理は厳しいですよね。件数が少なければ、
全ての得意先を埋め込んで、JavaScript で検索の処理を書いてしまうという手も
ありますけど。
回答ありがとうございます。
>処理をするイベントは onBlur よりは onChange の方が良いでしょう。
まだ、JavaScriptに慣れていないので、"onChange"イベントをリファレンス書より見つけだすことができていませんでした。
"DHTML","JavaScript","VBScript","ASP","SQL"のリファレンス本を5冊並べながら試行錯誤しています。
>どちらにしても、Web ってこういう処理は厳しいですよね
じつは、このお言葉を待っていたような気がします。
専門家の方が、簡単ではないという認識であれば、別の方法も検討に入れなくてはいけないと思ったしだいです。
>全ての得意先を埋め込んで...
確かに件数が少なければ良いと思いますが、今回は3000件以上のデータがあるのと、
常に変化している情報のため、難しいと思います。
No.1
- 回答日時:
> (案1)では、当然ながら一瞬ウインドウが開きます。
スクリーン(画面)の外に表示してはいかが?
ブラウザが表示されているスクリーンの大きさは、window.screen オブジェクトの
width、height プロパティで、それぞれ幅、高さが取得できます。
> (案2)では、せっかく入力したTEXT1の内容が消えてしまいます。
パラメータとして text1 を渡しているのだから、値を設定すれば良いんじゃないですか?
<INPUT type="text" name="text1" onBlur="GetJTname()" value="<%=○○○%>">
って。
# 私、ASPはやったことが無いので、パラメータの取得をどうやるのか分かりません m(_ _)m
# request みたいなオブジェクトがありませんか?
早速のご回答ありがとうございます。
>スクリーン(画面)の外に表示してはいかが?
なるほど。やってみます。
新たな画面を開いている関係上、レスポンスが悪いのが気になっていました。
本当は「onBlur」ではなく「AfterUpdate」の様なイベントがあればいいのにと思っているしだいです。
参照ボタン→子ウインドウ→選択→代入 のプロセスの方がいいような気もしてきました。
>パラメータとして text1 を渡しているのだから、値を設定すれば良いんじゃないですか?
まさにご指摘の通りですが、ほかにもいっぱいコントロールがあるのです。
中でも100文字ぐらいのテキストエリアが複数ありますので、
あまりでかいパラメータを渡すのもどうか?と思っています。
余談ですが、私はACCESS育ちで、HTMLはリファレンスを見ながら試行錯誤しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マイナスなら赤字で表示したい...
-
子ウィンドウを閉じるとき、親...
-
JavaScriptで作ったアプリが正...
-
フォームの内容でリンク先URLの...
-
VBscriptの配列変数をJavascrip...
-
HTMLとJavaScriptで作った表示...
-
tabindexの取得
-
JavaScriptでCGIの呼出し・...
-
ページ間で変数を保持したい
-
HTMLファイル同士での値渡し
-
入力するテキストエリアをボタ...
-
現在時刻を表示させたい!
-
VBScriptでpingを実行(ブラウザ...
-
テキストエリアへセットフォーカス
-
サブウィンドウに変数を渡す方...
-
テキストボックスに入力した色...
-
return trueとreturn falseの用...
-
追加ボタンを押した際に ok ボ...
-
チェックボックスのON/OFFでVal...
-
<form action="#">の意味とは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TextBoxに半角数字以外を入れた...
-
HTMLとJavaScriptで作った表示...
-
tabindexの取得
-
VBscriptの配列変数をJavascrip...
-
プルダウンで選択された値を別...
-
フォームの内容でリンク先URLの...
-
テキストボックスに入力した色...
-
GetElementByIdがうまく取得で...
-
JavaScriptで作ったアプリが正...
-
jQueryのdatepickerの日付が選...
-
HTMLファイル同士での値渡し
-
マイナスなら赤字で表示したい...
-
VBSからjavascript
-
テキストエリアに履歴を残したい
-
どちらかひとつのテキストボッ...
-
一部Enter無効化の方法を教えて...
-
ページ間で変数を保持したい
-
Request.Form(key)の中身をクリ...
-
javascriptのちょっとした動作...
-
JSで一つのボタンを押したとき...
おすすめ情報