JavaScriptを仕事で使っているのですが、初心者なもので困っています。
それは、例えば
(1)まず、選択型のコンボボックスからある人の名前を選択する。
(2)選択された名前の人の誕生日が自動的に他のテキストボックスに表示される
といった、プログラムの組み方が分かりません。
また、名前と誕生日はあらかじめ登録されており、それらは対で一つのレコードをなしています。
これは、データベースとの連携です。
ぜひ、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

私もANo.#2の方と同じで、


名前と誕生日を関連付けた「何か」を画面を表示した時点で持っておいて、
それをコンボボックスの変更時に設定するといった作りになると思います。

(サンプルです、これは両方ともコンボボックスです。)
//選択完了した時
function ListOKClick()
{
var vJointOwnership = document.forms[0].JointOwnership;
var vURLPath = document.forms[0].URLPath;

if(window.opener)
{
if(vJointOwnership.selectedIndex != -1)
{
for (var i=0; i < vJointOwnership.options.length; ++i)
{
if (vJointOwnership.options[i].selected)
{
window.opener.document.forms[0].Directory.value = vJointOwnership.options[i].text;
window.opener.document.forms[0].HttpDir.value = vURLPath.options[i].text;
}
}
}
}
window.close();
}
//選択をキャンセルした時
function CancelClick()
{
window.close();
}
    • good
    • 0

HTMLののVALUEの値にDBから取得したデータを入れる事はできないのですか?


私もColdFusionは使用した事がないのですが、
多分こんな感じで書けると思いますが

<OPTION VALUE="#birthday#">#name#
    • good
    • 0
この回答へのお礼

なんとなくですが、いろいろと回答いただけまして、想像がついてきました。
なんとか、がんばってみようと思います。
mangetsu_kさんの意見も参考になり、助かりました。
もう少し時間がかかるかもしれませんががんばります。
ありがとうございました。
無事できたら、報告させていただきます。

お礼日時:2001/06/19 17:57

同じHTML内で行いたいという事で、


名前と誕生日を関連付けた「何か」を画面を表示した時点で持っておいて、
それをコンボボックスの変更時にテキストボックスに設定する
といった作りになると思います。

他の処理を意識せずに考えると、
OPTIONのvalueに対応の誕生日を設定しておき、
変更時にvalueをテキストボックスにvalueをセットする。
ってのがいちばん簡単だと思います。
おそらく却下でしょうが。。。

後は、DBから取得したときに
OPTIONのvalueに対応した誕生日を配列に入れておく。

ColdFusionを知らない為、見当違いの事を言ってましたら
ご了承ください。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。今の開発環境は動的なWEBですので、データは逐次追加されていくんです・・・
ですから、<option>でセレクトメニューを固定することはできないため、ColdFusionで、動的なWEBを構築しているところです。せっかく、回答いただけましたのにすみませんでした。でも、このことからもうちょっと考えて見ます。ありがとうございます。

お礼日時:2001/06/19 10:28

それは同じHTMLファイル内で行ないたいのですが?


それとも名前を選択し、送信した後のページで誕生日を表示させたいのですか?
また、サーバー、DBは何を使っているのでしょう?

この回答への補足

すみません。説明不足でした。補足します。
今の、開発環境は社内イントラネットで、サーバーは、MSSQLサーバー、DBはMSSQL2000、言語はJavaScript、HTML、ColdFusionを使用しています。
表示方法は、名前を選択し、それと同時に誕生日を表示させたいので、処理は、同じHTML内で行いたいと考えております。
よろしくお願いいたします。

補足日時:2001/06/19 09:33
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

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

QFedora10でHelloWorld.javaをコンパイル

すると以下のようにエラーがでます。
何が原因でしょうか?

/root/HelloWorld.java:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
out.println("</body>");
out.println("</html>");
}
}

[root@prime ~]# javac -classpath /usr/share/tomcat6/lib/tomcat6-servlet-2.5-api-6.0.18.jar HelloWorld.java
----------
1. WARNING in HelloWorld.java (at line 5)
public class HelloWorld extends HttpServlet {
^^^^^^^^^^
The serializable class HelloWorld does not declare a static final serialVersionUID field of type long
----------
1 problem (1 warning)
[root@prime ~]#

ただし、
/usr/share/tomcat6/lib/tomcat6-servlet-2.5-api-6.0.18.jar
に使用したapiクラスは含まれています。

The serializable class HelloWorld does not declare a static final serialVersionUID field of type long

の意味を教えてください。

すると以下のようにエラーがでます。
何が原因でしょうか?

/root/HelloWorld.java:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.p...続きを読む

Aベストアンサー

文字通り、static final serialVersionUIDがない、という意味。現在のJavaでは、Beanとして定義されるクラス(=シリアライズ可能なクラス)はserialVersionUIDを用意する必要がある。
public class HelloWorld extends HttpServlet { のすぐ下に、

private static final long serialVersionUID = 1L;

といった感じでserialVersionUIDの値を設定するprivateフィールドを追加して再度試してみる。

Qコンボボックス選択時に関連する情報をテキストボックスに表示させたい。

現在、以下のようなものをJavaScriptで実現しようとしているのですが、方法がわからないので質問させていただきます。

DBに商品テーブルがあって、カラムが「商品コード」「商品名称」「金額」だとします。
画面にはコンボボックスと右横にテキストボックスがあって、
コンボボックスには商品名称のみ表示、金額はテキストボックスに表示します。
(商品コードは<option>のvalueに設定します)
サーバにアクセスせずにコンボボックスの内容を選択するたびに、対応する金額が表示されるようにしたいです。

PHPでコンボボックスを作成するときにvalueに商品コードと金額を区切り記号("_"など)で連結した値を設定しておき、
それを商品コードと金額に分解すれば実現できると思うのですが、もう少しスマートな方法があればと思い、質問させて頂きました。

環境はWindowsXP、PHP5、MYSQLです。
よろしくお願いします。

Aベストアンサー

>PHPでコンボボックスを作成するときにvalueに商品コードと金額を区切り記号
>("_"など)で連結した値を設定しておき、

単純にvalueに商品コードをいれておき、金額用のリストを用意しておけばよいのでは?

<script>
var kingaku={x001:300,y002:200,z003:100};
function setKingaku(obj){
var f=obj.form;
if(obj.value==""){f.kingaku.value="";return false;}
f.kingaku.value=kingaku[obj.value];
}
</script>
<form>
<select onchange="setKingaku(this)">
<option value="">選択</option>
<option value="x001">りんご</option>
<option value="y002">みかん</option>
<option value="z003">ばなな</option>
</select>
<input type="text" name="kingaku" value="">
</form>

>PHPでコンボボックスを作成するときにvalueに商品コードと金額を区切り記号
>("_"など)で連結した値を設定しておき、

単純にvalueに商品コードをいれておき、金額用のリストを用意しておけばよいのでは?

<script>
var kingaku={x001:300,y002:200,z003:100};
function setKingaku(obj){
var f=obj.form;
if(obj.value==""){f.kingaku.value="";return false;}
f.kingaku.value=kingaku[obj.value];
}
</script>
<form>
<select onchange="setKingaku(this)">
<option value="">選択</opt...続きを読む

Qhello worldの表示の仕方

2年ほど前、プログラムを教わっていたのですがすっかり忘れてしまいました

メモ帳に

#include <stdio.h>

int main()
{
fprintf(stdout, "Hello world No1!\n");
fflush(stdout);

fprintf(stderr, "Hello world No2!\n");
fflush(stderr);

return 0;
}

と書く

helloworldという名前で保存する

アクセサリからコマンドプロンプトを立ち上げる

helloworldと入力しエンターを押す

これでhello wordと表示されると思うのですが、何故か表示されません
初歩の初歩すらすっかり忘れてしまいました
どなたか何を間違えているのか教えてください
昔はこのPC実行できたと思うのですが…ちないにvistaのノートパソコンです
お願いします

Aベストアンサー

コンパイルと言う手順がぬけています。

2年前に教わっていた時のパソコンと今お使いのパソコンは本当に同じものでしょうか?

同じであれば、コインパイルするのに使用した開発環境が何であったかを思い出して探して、コンパイルしてください。

違うパソコンであれば、そのときと同じ開発環境をインストールしてください。

おそらく

・Visual Studio Express Edition
・Cygwin gcc
・Borland Free Compiler ( bcc32 )

あたりだろうとおもいますが、コンパイルの仕方は環境により異なります。

開発環境が何であったか思い出せない場合は、もう一からやりなおすつもりで、とりあえず Visual Studio をインストールしてください。

方法とサンプルはGoogle先生にお願いします。

http://www.google.co.jp/search?q=Visual+Studio+express+hello+world

Qプルダウン Or コンボボックスを選択したら、テキストボックスを入力不可にさせる方法 

フォーム制御として、JavaScriptを使用して、プルダウンよりある項目が選択されたと同時に、あるテキストボックスの入力を不可、またはmaxlengthを0にしたいのですが、思うように出来ません。
maxlengthをvalue等に変更させたら値は変更されたので、
関数としての動きは問題なさそうです。

どなたか、ご教授お願いいたします。

※現在下記のソースは、list番号を指定していません。

<script language="JavaScript">
<!--
function MM_jumpMenu(){
parent.document.form1.text1.maxlength=0;

}
//-->
</script>

<form name="form1" method="post" action="">
<select name="menu1" onChange="MM_jumpMenu()">
<option selected>unnamed1</option>
<option>unnamed2</option>
</select>
<input type="text" name="text1" maxlength="10">
</form>

フォーム制御として、JavaScriptを使用して、プルダウンよりある項目が選択されたと同時に、あるテキストボックスの入力を不可、またはmaxlengthを0にしたいのですが、思うように出来ません。
maxlengthをvalue等に変更させたら値は変更されたので、
関数としての動きは問題なさそうです。

どなたか、ご教授お願いいたします。

※現在下記のソースは、list番号を指定していません。

<script language="JavaScript">
<!--
function MM_jumpMenu(){
parent.document.form1.text1.maxlength=0;

}
/...続きを読む

Aベストアンサー

> parent.document.form1.text1.maxlength=0;

form1 は、親にあるのは間違っていないのですね。

で、入力負荷にするのなら disabled プロパティをいじりましょう。

parent.document.form1.text1.disabled = true;

Qjava初歩の初歩 HelloWorld実行エラー

Exception in thread main"java.lang.NoClassDefFondError: HelloWorld
とエラーが出ます。
実は先日同じ内容で、こちらで解決していただきました。
そのときの解決策は、通常のPATHの設定に加え、CLASSPATHに.(ドット)と入力するというものでした。
ですが、その後リカバリをかけたところ、同じ設定をしてもエラーが出てしまいます。
javacは出来ています。
解決策がありましたら教えてください。

ファイル名:HelloWorld.java
環境(?):WinXP Java2SDK1.4.1使用(リカバリ後再インストール)
環境変数の設定:PATH→;C:\j2sdk1.4.1_07\binと入力
プログラム内容:
class HelloJava{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

Aベストアンサー

じゃあ、CLASSPATH 環境変数は削除してしまいましょう。どっかのプログラムが勝手に CLASSPATH を設定しているみたいですが、その設定が却って邪魔になっています。(でも一応削除する前の控えは取っておいてください)

あと、これはユーザーアカウントがらみの話でもありますが、Windows XP の環境変数の設定には全ユーザー共通の環境変数と自分だけの環境変数があります。CLASSPATH が設定されていないか両方とも確認してみてください。

Qリスト(コンボ)ボックスの日本語による項目選択

Htmlのリストボックス(select)で、複数文字の日本語を入力してリストを選択する方法を教えて下さい。
IEデフォルトの動きでは、入力された最後の文字から始まる語が選択されます。
Javascriptのサンプルを提供して頂けるとありがたいです。
例:<option>あか</option><option>かき</option> というリストで「あか」と打って「あか」を選択したいのです。

Aベストアンサー

textboxに入力→リスト選択ですね?

<html>
<head>
<title>リストボックス自動選択</title>
<script type="text/javascript">
<!--
function set(){
var txt=document.hoge.hogetxt.value;
for(var i=0;i<document.hoge.hogebox.options.length;i++){
if(document.hoge.hogebox.options[i].text.indexOf(txt)!=-1&&txt.length>0){
document.hoge.hogebox.selectedIndex=i;
i=10000;
}
}
}
//-->
</script>
</head>
<body>
<form name="hoge">
<input type="text" value="" name="hogetxt" size=4 maxlength=4><input type="button" value="リストボックス自動選択" onclick="set()"><br>
<select name="hogebox">
<option>  </option>
<option>あか</option>
<option>あき</option>
<option>あく</option>
<option>あけ</option>
</select>
</form>
</body>
</html>

インデントが無くなっているので自分で修正したほうがいいかも知れません。

textboxに入力→リスト選択ですね?

<html>
<head>
<title>リストボックス自動選択</title>
<script type="text/javascript">
<!--
function set(){
var txt=document.hoge.hogetxt.value;
for(var i=0;i<document.hoge.hogebox.options.length;i++){
if(document.hoge.hogebox.options[i].text.indexOf(txt)!=-1&&txt.length>0){
document.hoge.hogebox.selectedIndex=i;
i=10000;
}
}
}
//-->
</script>
</head>
<body>
<form name="hoge">
<input type="text" value="" name="hogetxt" si...続きを読む

Q初心者 Hello worldをしたい

ActivePerl をインストールしました。
早速、Hello worldを表示させようと思うのですが
メモ帳に「print "Hello world!!\n";」と記載して
「hello.pl」という名前で保存しました。
それをデスクトップにおきました。

その状態で
コマンドプロンプトで「perl hello.pl」を実行しても
Can't open perl script "hello.pl": No such file or directory
(和訳:開いたperlは、「hello.pl」のスクリプトを書くことができません:そのようなファイルまたはディレクトリ)
が返って来ます。

多分、デスクトップにおくのが間違いだと思うのですが
どこに「hello.pl」を置いて
「perl hello.pl」を実行すればいいのでしょうか?

ご教授よろしくお願い致します。

Aベストアンサー

コマンドプロンプトで、デスクトップのディレクトリに移動して、perl hello.plと実行すれば表示されると思います。
perl ファイル名.pl としたとき、そのファイルはコマンドプロンプトのカレントディレクトリに無いとエラーになると思います。

Qコンボボックスに連動するテキストボックスの表示数変更

入力フォームを作成しており、コンボボックスの数に応じて、
テキストボックスの表示数を変更させたいと考えています。

コンボボックスでの選択が「2」になれば、その下に表示される
テキストボックスの数も2つ表示させたいと思います。


<html>
<head>
</head>
<body>
<form>
項目数:
<SELECT>
<OPTION selected>1</OPTION>
<OPTION>2</OPTION>
<OPTION>3</OPTION>
<OPTION>4</OPTION>
<OPTION>5</OPTION>
</SELECT>
<br>
<br>
項目1:<input type="text" name="test1" size="20">
</form>
</body>
</html>


処理方法をサイトなどで調べましたが、該当するものが見あたりませんでしたので、ご教授お願いいたします。

Aベストアンサー

この手のヤツは、最初から最大数分の要素をつくっておき、
当初は使えなくしておくというのが、よろしいのでは?
もちろんムダも多いですが、消したりつけたりするときには
確実に処理ができます。

<html>
<head>
<script>
function changeFunc(obj,dClass,iClass){
var f=obj.form;
var v=Number(obj.value);
var cnt=1;
for(var i=0;i<f.length;i++){
if(f[i].className==iClass){
if(v>=cnt++) f[i].disabled=false;
else f[i].disabled=true;
}
}
var cnt=1;
var divs=document.getElementsByTagName('div');
for(var i=0;i<divs.length;i++){
if(divs[i].className==dClass){
if(v>=cnt++) divs[i].style.display="block";
else divs[i].style.display="none";
}
}
}
</script>
</head>
<body>
<form>
項目数:
<SELECT onChange="changeFunc(this,'viewClass','inputClass')">
<OPTION value="1" selected>1</OPTION>
<OPTION value="2">2</OPTION>
<OPTION value="3">3</OPTION>
<OPTION value="4">4</OPTION>
<OPTION value="5">5</OPTION>
</SELECT>
<br>
<br>
<div class="viewClass">項目1:<input type="text" name="test1" class="inputClass" size="20"></div>
<div class="viewClass">項目2:<input type="text" name="test2" class="inputClass" size="20" disabled></div>
<div class="viewClass">項目3:<input type="text" name="test3" class="inputClass" size="20" disabled></div>
<div class="viewClass">項目4:<input type="text" name="test4" class="inputClass" size="20" disabled></div>
<div class="viewClass">項目5:<input type="text" name="test5" class="inputClass" size="20" disabled></div>
</form>
</body>
</html>

単純にするなら、divのstyleのdisplayだけつけたり消したりでも
いいでしょう。
サブミットするときムダなデータが飛ばなくするにはdisabledを
つける必要があります。

この手のヤツは、最初から最大数分の要素をつくっておき、
当初は使えなくしておくというのが、よろしいのでは?
もちろんムダも多いですが、消したりつけたりするときには
確実に処理ができます。

<html>
<head>
<script>
function changeFunc(obj,dClass,iClass){
var f=obj.form;
var v=Number(obj.value);
var cnt=1;
for(var i=0;i<f.length;i++){
if(f[i].className==iClass){
if(v>=cnt++) f[i].disabled=false;
else f[i].disabled=true;
}
}
var cnt=1;
var div...続きを読む

Q"Hello, World"はなぜ無冠詞?

プログラミングの勉強で一番最初にやる事といえば、コマンドプロンプトに「Hello, World!!」と表示させることだと思いますが、通常ですとworldの前に定冠詞を入れるのが普通・自然だと感じています。
"Hello, the World!!"という表現はおかしいのでしょうか? おかしい場合、何故おかしいのでしょうか? おかしくない場合、冠詞の有無によって、意味やニュアンスの点で違いは出て来ますか?
ご存知の方がいらっしゃいましたら、どうかお知恵を拝借させていただけたら、と思います。

Aベストアンサー

Hello, everyone. と同じで呼びかけですね。
everyone はもともと冠詞はつきませんが。
この「みなさん」は人名などとは感じません。

Waiter, two coffees, please.
とか,呼びかけに冠詞はつかない。
Good morning, dad/mom.
All right, sir/ma'am.

他にも
Son,
と呼びかけたり,
Boy,
などは間投詞化しています。

Qテキストボックスとセレクトボックスの選択肢の連携

この度はお世話になります。

1個のテキストボックスに入力された文字列により、その後の1個の
セレクトメニューの選択肢を変更することってできるのでしょうか?

具体的には以下のような動作です。

・デフォルトではテキストボックスに文字列が入力された場合は、
 その後のセレクトボックスには「トマト、きゅうり、ほうれんそう」
 の選択肢が入る。

・テキストボックスに「あいうえお」と入力された時のみ、その後の
 セレクトボックスが「りんご、みかん、ぶどう」の選択肢に変わる。

・テキストボックスに「かきくけこ」と入力された時のみ、その後の
 セレクトボックスに「あじ、さば、かつお」の選択肢に変わる。

こんな感じですが、よろしくお願い致します。
当方、只今javascriptを勉強しており、条件式に苦戦しております。
サンプルプログラムを見せていただけるとありがたく思います。

Aベストアンサー

>1個のテキストボックスに入力された文字列により、その後の1個の
>セレクトメニューの選択肢を変更することってできるのでしょうか?
HTML構造とか条件がいまいちはっきりしませんが、できると思われます。


>当方、只今javascriptを勉強しており、条件式に苦戦しております。
とのことなので、苦戦なさっている条件分岐について、とりあえず思いつくものを…
と言っても、ご質問の内容であれば普通に条件分岐すればよいだけですが・・・

テキストボックスの値が、変数textValeに取得できているとして、

◇例1(ifによる分岐)
 if(textValue=""){
  // 文字列が入力されていない場合の処理 
 }else if(textValue="あいうえお"){
  // あいうえおの場合の処理
 }else if(textValue="かきくけこ"){
  // かきくけこの場合の処理
 }else{
  // 他の文字列の場合の処理
 }


◇例2(switch文で振分け)
 switch (textValue{
 case "":
  // 文字列が入力されていない場合の処理
  break;
 case "あいうえお":
  // あいうえおの場合の処理
  break;
 case "かきくけこ":
  // かきくけこの場合の処理
  break;
 default:
  // 他の文字列の場合の処理
  break;
 }


◇例3(ループで処理:場合分けが多いけれど処理が類似している時など)
caseData = [
{ value:"あいうえお", data:"hoge1" },
{ value:"かきくけこ", data:"hoge2" }
];
for(var i=0; i<caseData.length; i++){
if(textValue == caseData[i].value){
  hogehoge(caseData[i].data); // 該当する場合の処理(引数は個別データ)
  break;
}
}
if(i==caseData.length) hogehoge("hoge0"); // どれにも該当しない場合の処理

※例3は分岐の選択肢が多くて、処理内容が類似して一般化できる際に有効かと思います。
 ご質問の場合も「セレクトボックスの内容を変える」という処理が同じなので、応用は可能かと。

>1個のテキストボックスに入力された文字列により、その後の1個の
>セレクトメニューの選択肢を変更することってできるのでしょうか?
HTML構造とか条件がいまいちはっきりしませんが、できると思われます。


>当方、只今javascriptを勉強しており、条件式に苦戦しております。
とのことなので、苦戦なさっている条件分岐について、とりあえず思いつくものを…
と言っても、ご質問の内容であれば普通に条件分岐すればよいだけですが・・・

テキストボックスの値が、変数textValeに取得できているとして、

◇...続きを読む


人気Q&Aランキング

おすすめ情報