• 締切済み

onlordのjavaについて

初心者ですのでより詳しくお願いいたします。 フォームが2つあります。 form1にラジオボタン2つ(オフ・オン)。 form2にテキストが複数。 form1のラジオボタンの「オフ」をデフォルトにし、 form2が入力できないようにページを開いた時にjava制御したいのですが、 <body onLoad>には、別ファイルでjava(js)が入っています。 (私が作ったものではなく、初心者の私には繋ぎ方がわかりません…) <jsファイル内容> function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } …(これらの多数のjavaがあります)… function SWindow(Aurl,Aname,Awidth,Aheight,Atoolbar,Alocation,Astatus,Ascroll,Amenu,Aresize){ Astr = "width=" + Awidth; Astr+= ",height=" + Aheight; if(Atoolbar)Astr+= ",toolbar"; window.open(Aurl,Aname,Astr); } ちなみに、現在の制御javaは以下の通りです。 <script language="JavaScript"><!-- function setForm(flag) { len = document.form2.elements.length; for (i=0; i<len; i++) document.form2.elements[i].disabled = flag; } // --></script> <body onLoad="MM_preloadImages('../images/hdr_menu02_1over.gif','../images/hdr_menu02_3over.gif'…と多数のgifファイルが記…"> <form name="form1"> <input type="radio" name="radio2" nclick="setForm(true)" checked>オフ <input type="radio" name="radio2"onclick="setForm(false)">オン </form>

みんなの回答

noname#19206
noname#19206
回答No.3

[オフトピ] JavaとJavaScript、名前は似ていますが、技術的なものとしては全く違います。 ここのコミュニティでもJavaとJavaScriptはちゃんと分けられています。 理解しておくと的確な質問ができ、技術の向上にも何らかのプラスになると思います。

rie-mama
質問者

お礼

ありがとうございます。これから少しずつ勉強していきたいと思っています。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

関数をつなげて指定すればよいでしょう。 <body onLoad="MM_preloadImages('gifファイル',..);setForm(false)"> というか、デフォルトなら <form name="form2"> <input type="text" name="text1" disabled> <input type="text" name="text2" disabled> ・・・ </form> とすればすみますが・・・

rie-mama
質問者

お礼

javascriptの繋ぎ方およびデフォルトの件は理解できました。ありがとうございました。 でも、残念ながら、javascriptを繋ぐだけでは、動作は変化しませんでした。また、デフォルト時に入力できないことは今回のものでできたのですが、残念ながら私の説明不足で、最終的にボタンでactionを起こし、次のページを開き、histry back()で戻ったときに、デフォルトが効いてしまい、このdisabledでのデフォルトは使用不可能でした。

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

onLoad に setForm の呼び出しを追加してみてください。 <body onLoad="setForm(true);MM_preloadImages...

rie-mama
質問者

お礼

ありがとうございました。javascriptの繋ぎ方はよく理解できました。ただ、実際のアクションとして、setForm(true)は効きませんでした(T_T)

関連するQ&A

  • 引数のない関数

    何度もすいませんが教えてください。 function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } 上記の関数ですが、 <body onLoad="MM_preloadImages('img/aaa.gif','img/bbb.gif','img/ccc.gif')> という使い方をしています。 引数が宣言されていなくても成り立つのはなぜでしょうか。 教えてください。

  • Javaのロールオーバーについて教えてください

    質問させていただきます。 DreamweaverCS3にてWEBサイトを作成しているのですが、メニューボタンにロールオーバー画像スワップの効果を付け加える必要がでてきました。 メインページであるindexに対してDWのビヘイビア機能を使い、index自体にはロールオーバーを実現することができました。 付け加えたソースコードを外部JAVAファイルとして切り分け、他のページにも適用したいのですが、javascriptのどの部分を変更すれば、全ページに適用されるのかわかりません。 スクリプトは以下のとおりです。 <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> 「index」となっている部分を何らかに変更すれば実現できるのではないかと考えたのですが、まったくわかりません。 どなたか詳しい方、ご教示いただけると幸いです。

  • メニュー(マウス通過・クリックで絵の替わる物)のことで質問です。

    えーと、すいません。 メニューの件で質問です。 マウス通過・クリックで絵の替わるジャバスクリプトを作ってメニューを作ったんですけど、 その際にまだ読み込んでいないファイルを読み込むようにする物がDreamweaverにありましたのでそれも一緒に入れました。 でもなぜか、 Web上に上げると、 メニューの絵が表示されますけれど、 マウス通過・クリックしますと次に出てくるはずの絵が出てこないのです。 (IEで見ると×マークが出てきます。) 作った物ですが、 こんなかんじです。 <body> <script language="JavaScript"> function winImage1(){ document.win1.src="×××.gif"; //これにさわったら、 } function winImage2(){ document.win2.src="×××.gif"; //これに替わる } //--> </script> <a href="index.htm" onMouseOut=winImage2() onMouseOver=winImage1() target="_parent"> <img border=0 name=××× src="×××.gif" alt="×××"></a> <body> を作りましたが、 なかなか見れません。 あと、Dreamweaver上にありました、先にこのファイルを読み込みなさいと指示をするジャバスクリプトものせておきます。 <head> <script language="JavaScript"> function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } //--> </head> <body onLoad="MM_preloadImages(×××.gif,×××.gif・・・)"> </script> </body> です。 あと、使っているアプリケーションは、『Dreamweaver4』です。 どうかよろしくお願いします。

  • javascriptを勉強しているのですが。

    毎日こつこつと参考書を見ながらjavascriptを勉強しています。サイトのソースを見て勉強する方法を最近しているのですが、壁に当たってしまったようなので質問させていただきました。 function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } 質問1:上記のようなスクリプトを見かけたのですが、最初のif文には{}があるのですが、if(!d.MM_p) d.MM_p=new Array();と for(i=0;i<a.length; i++)の部分では{}が見あたらないのですがなぜでしょうか。 if文をしよう使用する場合には{}を使うと参考書に書いてありましたが、これには記述されていないのですが、普通に使用できているようなのですがなぜでしょうか。 質問2://v3.0とは何かのバージョンを示しているのでしょうか。 初歩的な質問で申し訳ありませんが、1つでもいいのでどなたかアドバイスをお願いします。

  • これはどういう記述ですか?

    すでにできあがってるサイトを自分なりに改造しながら勉強してる者です。サイト自体はほとんどPHPなんですが会員にメールを送るPHPファイル内に以下の記述があります。 JavaScriptはまったく解らず、どういう意味のどういう処理の記述なんでしょうか?メール送信に関係ある記述ですか? どなたかお力添えお願いいたします。 <script language="JavaScript" type="text/JavaScript"> <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_goToURL() { //v3.0 var i, args=MM_goToURL.arguments; document.MM_returnValue = false; for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); } //--> </script>

  • 何を言っているのか教えて下さい

    Dreamweaverで出てきたものなのですが意味が分からないんで困ってます教えて下さい. function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && document.getElementById) x=document.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} }

  • dreamweaverについて

    JavaやCSSがサーバーにUPロードしても反映しないのです。 dreamweaverのブラウザーの表示では、確かに確認できるのですが、 CSSのリンクかJavaの宣言に以下のコメントがひっているのですが、これが原因でようか? <link href="file:///F|/ais2008test/mystyle.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> 誰か教えてください!

  • ソースの内容の一部を具体的に説明できますか?

    私はWEBデザイナーなんですが、お客様にマウスオーバーのソースでわからないところを説明してくれと言われました。 ただ、マウスオーバー自体はDreamweaverで自動でスクリプトを書いているので、正直チンプンカンプンです。 ぜひ以下について教えていただけないでしょうか? ************************************************** ■indexOf("#")、indexOf("?") は、それぞれどういうものなのでしょうか? ■document.MM_sr、document.MM_p には、それぞれ何のデータが格納されているのでしょうか? ■また、上記2つ以外の全体的な質問以外に個別の質問として「>>」で差し込ませていただいております。 めちゃくちゃ長いですが、どうかよろしくお願いいたします。 ■画像を元に戻すための処理 function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } ■画像の先読みのための処理 function MM_preloadImages() { //v3.0 var d=document; if(d.images) { if(!d.MM_p) d.MM_p=new Array(); var i, j=d.MM_p.length, a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i]; } } } ■画像の名称管理 function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p); } if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); >>この部分は何のための処理なのか? (再帰的呼び出しまで行っているが、何をしているのか?) この部分がなくてもx=d.getElementById(n)によって目的が達成されるように思えるが、どこが間違っているか教えてほしい。 if(!x && d.getElementById) x=d.getElementById(n); return x; } >>この関数は、document.MM_pの中から、指定された名前のものを探すかと思っていたが、それで正しいのか? document.MM_pを変数として使用せずに、x=d.getElementById(n)によって処理していても問題なさそうだが、そうすると、MM_preloadImages でdocument.MM_pをセットしている理由がわからなくなってしまうので、教えてほしい。 ■画像のさしかえ処理 function MM_swapImage() { //v3.0 var i,j=0, x, a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null) { document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2]; >> a[i+2]は、img/navon_01.gifでなくて、1を指しているように思える。この関数function MM_swapImageの中でimg/navon_01.gifが使われている部分が見つからないが、実際はどこかで使わないと機能が達成されないので、どこで使っているかを教えてほしい。 } }

  • ロールオーバーの処理で「最初の画像→click→ロールオーバーの画像→click→Yahoo!」という処理は出来ますか?

    Java Script初心者です。 画像をonclickでロールオーバさせています。 最初の画像をクリックするとロールオーバのイメージになり、その状態でもう1度クリックするとリンクに飛ばすことは出来ますか? やりたい事は以下のような処理です。 最初の画像→click→ロールオーバーの画像→click→Yahoo! 現在はロールオーバーの画像までは表示できましたが、その画像にリンクを貼ることができません。 色々調べましたら分かりませんでしたので、分かる方がいらっしゃいましたら教えてください。 --------------------------HTML-------------------------- <img src="images/image_01.jpg" id="Image1" alto="EVENT" onclick="MM_swapImage('Image1','','images/image_over_01.jpg',1)" onmouseout="MM_swapImage('Image1','','images/image_01.jpg',1) /> ------------------------Java Script-------------------------- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} }

  • javascriptタグを外部にしたい

    <script type="text/javascript"> <!-- function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> DWでデフォルトでロールオーバーイメージを使ってスクリプトが出ています。SEO的にこれを外部に移したいのですが、どうやればいいのでしょうか?CSSと同じ記述でいいのでしょうか・・・ SEO的にはスクリプト自体使わないほうがいいのはわかっています

専門家に質問してみよう