電子書籍の厳選無料作品が豊富!

初歩的な質問で申し訳ありません。また、長い質問で併せてあらかじめお詫びいたします。
表題通り、ひとつのHTMLの中に複数のJavascriptの処理を行いたいのです。
現在あるページにはサイト内の各コーナーのトップへリンクが張ってあるボタンが並んでおり、このそれぞれのボタンにonMouseoverで画像が入れ替わり(カーソルをあわせるとボタンが光っているかのように見せる、アレです)、同時にボタンの下にあるテキストフィールドにそれぞれのコーナーの簡単な説明がでるようにしてあります。以上ここまでは何とか表示でき、IEでもネスケでも確認できています。
次に、別にアンケート的な診断問題をつくりました。質問に対して「○」「△」「×」のいずれかひとつで回答してもらい、○なら2点、△なら1点、×なら0点、というように設定して、5つのカテゴリーで各10問、合計50問設置します。これをカテゴリーごとに集計して、カテゴリーごとに点数の高低に応じての解説をしていこうとしています。そこで、このアンケート的なものだけを別ファイルでつくってみたのですが、このアンケートだけのファイルなら考えているとおりに動いてくれています。
問題はここからで、はじめにお話ししたボタンが並んでいるページの中に、このアンケートの部分を組み込みたいのです。このときのJavascriptの記述の仕方がわからないので困っています。どなたか教えてください。

A 回答 (3件)

>両方記述するには、単純に


><script type="text/javascript"> </script>
><script type="text/javascript"> </script>
>と続けてしまえばよいのですか?
それで構いませんし、#2さんのようにしても構いません。

さて動かなくなってしまった原因ですが、アンケート用のformの前に、新しくformを増やしていませんか?おそらくそれによってdocument.forms[ ]のインデックスがずれてしまったのではないかと想像します。
もしそうであった場合、下記のような修正で対応できるかと思います。

function SetText(){

var base=1; // 追加行;アンケートより前にあるformの数

for(j=0;j<5;j++){
sw=j*10+base; // 変更行
    • good
    • 0

{ document.images[iName].src=str;}


//--></script>

上記の

{ document.images[iName].src=str;}
↑の下に次の
function SetText(){
(以下略)
を記述する。

これで動かなかったらどこかがおかしい。
どこがおかしいかは私には不明。悪しからず。
    • good
    • 0

質問の内容を勘違いしていたらすいません。


そのアンケートのJavaScriptを下記の<!-- -->の中で記述して、組み込んでみてはどうでしょう?

<script type="text/javascript">
<!--
 アンケートのJavaScript
// -->
</script>

この回答への補足

早速のご対応ありがとうございます。現在、「ボタンが並んでいる……」の方のJavaScriptが<head></head>の中に
<script language="JavaScript"><!--
function swImg(iName,str)
{ document.images[iName].src=str;}
//--></script>
とあります。アンケートのJavaScriptは
<SCRIPT Language="JavaScript">
<!--
function SetText(){
myPlus=new Array(0,0,0,0,0,0,0,0,0,0);
myTotal=new Array(0,0,0,0,0,0,0,0,0,0);
chk=new Array();
var ghj=0;

for(j=0;j<5;j++){
sw=j*10;
for(l=sw;l<10+sw;l++){
for(g=0;g<3;g++){
if(document.forms[l].elements[g].checked==true) {
myPlus[l-sw]=eval(document.forms[l].elements[g].value);
}
}
}
for(i=0;i<10;i++){myTotal[j] += myPlus[i]}
document.total.elements[j].value = myTotal[j];
for(k=0;k<10;k++){myTotal[k]=0;myPlus[k]=0}
}

myCP=eval(document.total.plusCP.value)+10;
myNP=eval(document.total.plusNP.value)+10;
myA=eval(document.total.plusA.value)+10;
myFC=eval(document.total.plusFC.value)+10;
myAC=eval(document.total.plusAC.value)+10;
document.cookie="name=TEST"+myCP+myNP+myA+myFC+myAC;

location.href="診断結果のページ.htm";


}

//-->
</SCRIPT>
としています。両方記述するには、単純に
<script type="text/javascript"> </script>
<script type="text/javascript"> </script>
と続けてしまえばよいのですか?やってみたところ、両方とも動かなくなったのですが……。

補足日時:2004/02/15 18:09
    • good
    • 0

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