WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:Javascriptを入れ子で使いたいのですが

0:[投稿] 困ってます [2009/08/15 22:16 ] [環境:IE6ですが、Safariも対応させたいです プロバイダのサーバ]

HTMLとJavascriptで動くホームページを、メモ帳で記述しています。


構造は、

1)HTML、BODY、FORM内のselectで、条件1と条件2を取得
 Javascriptで、入力チェックすると同時に、
 読み込むデータベース jsファイルです を動的に決めて、変数aに格納します。
 また、条件3を、変数bに格納します。

2)次に、外部に置いているjsファイルを、Javascriptで読み込みます。

3)そして、Javascriptで、条件3に一致するレコードでテーブルを生成して
 innerhtmlで書き出します。


部品1)単体、部品3)単体は、動作チェックが済んでいます。

ですが、部品1)から、部品3)に、変数a、bを引き渡せていないようで
検索条件は指定出来るのに、読み込み、書き出しが実行できません。

どのように、記述を改めれば動作するのか、教えて下さい。

宜しくお願いします。


以下、ソースを抜粋します。


001 <HTML>
002   <HEAD>
003     <SCRIPT  type="text/javascript">
004       function  Select(){
005         var  frm = document.forms["frm1"];
006
007         var  idx = frm.elements["select1"].selectedIndex;
008         var  idy = frm.elements["select2"].selectedIndex;
009         var  idz = frm.elements["select3"].selectedIndex;
010
011        if(idx!="" &&  idy!="" && idz!="") {
012           /* 読み込みDB */
012           dbname1 = frm.elements["select1"].options[idx].value;
013           dbname2 = frm.elements["select2"].options[idy].value;
014           /* DB抽出条件 */
015          jouken1 = frm.elements["select3"].options[idz].value;
016
017           /* DB名称生成 */
018           DBname = "./DB_"
019           DBname += dbname1
020           DBname += "_"
021           DBname += dbname2
022           DBname += ".js"
023           }
024         else{
025           alert("未入力項目があります");
026         }
027       }
028     </script>
029
030
031     <script  type="text/javascript"  src="DBname"></script>
032
033
034     <script  type="text/javascript">
035       var  i;
036       var  r;
037       var  arrayLength=exDB.length;
038
039       function dataSearch(jouken1) {
040         var flag=false;
041         var  msg;
042         var  data=new Array();
043
044       msg = "<TABLE  BORDER='0'>";
045         msg = msg+"<TR>"
046         msg = msg+"<TH  width='60'>名前</TH>
047         msg = msg+"<TH  width='120'>都道府県</TH>
048         msg = msg+"<TH  width='120'>電話番号</TH>";
049         msg = msg+"</TR>";
050
051         for(i=0;  i<arrayLength;  i++) {
052           data=funeDB[i].split(" ");
053           if(data[0]==jouken1) {
054             flag = true;
055             msg = msg+"<TR>";
056             msg = msg+"<TD  class='light-right'   width='60' >"+data[0]+"</TD>";
057             msg = msg+"<TD  class='light-right'   width='120'>"+data[1]+"</TD>";
058             msg = msg+"<TD  class='light-center'  width='120'>"+data[2]+"</TD>";
059             msg = msg+"</TR>";
060           }
061           if(flag==false) {
062             msg = msg+"<tr><td>該当する文字列はありません</td></tr>";
063           }
064         msg = msg+"</TABLE>";
065       document.getElementById("displayPane").innerHTML=msg;
066      }
067    </SCRIPT>
068
069
070  </HEAD>
071
072  <BODY>
073
074    <FORM  name="form"  action="#">
075      <SELECT  name="select1">
076        <option value="">▼選択してください</option>
077              中略
078      </SELECT>
079
080      <SELECT  name="select2">
081        <option value="">▼選択してください</option>
082              中略
083      </SELECT>
084
085      <SELECT  name="jouken1">
086        <option value="">▼選択してください</option>
087              中略
088      </SELECT>
089
090      <INPUT  type="button"  value="検索する"  onclick="Select()" />
091
092    </FORM>
093
094    <DIV  id="displayPane"></DIV>
095
096   </BODY>
097
098 </HTML>


1:[回答] り [2009/08/17 17:01 ]

全角スペースがあったりdataSearchが終わっていなかったりfrm1がなかったりすることに気づきます。

回答(必須): 状態:

お名前(必須):

URL:




[戻る]