• ベストアンサー

JavascriptでAppletを制御したい

現在WEBアプリケーションを作成中ですが、 APPLETのPARAMETERの値を、 HTMLに記述した、JAVASCRIPTから書き換えられないか思案中です。 例 <APPLET> <Param name="AAA" value="2" > </APPLET> <INPUT TYPE="TEXT" NAME="BBB" VALUE="999"> <INPUT TYPE="BUTTON" NAME="RELOAD" VALUE="RELOAD"> のPARAMの値を変更したいのです。 このAAAのVALUE値を、BBBの値で変更して、RELOADボタンを押すと、 APPLETがPARAMを読み直して、再実行(RUNメソッド起動)するようにしたい。 APPLET側では現状ではINITメソッドでgetParameterを発行しています。 たぶんこれはRUNメソッドに移動しないといけないと思います。 よろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.2

>>> avascriptでAppletを制御したい 制御するメソッドをpublicにします。 ・ PARAMETERが1つの場合 ・ getParameterは使わず、run(String param1)メソッドの引数として利用することを考えて見ます。 public void run(String param1) { // init()の中から必要な物を追加。 } [HTML] ------------------------------------------------------------ <html> <head> <script language="JavaScript" type="text/javascript"> function sendValue(f) { var aplt = document.getElementById("aplt1"); aplt.run(f.BBB.value); } </script> </head> <body> <applet id="aplt1" alt=""> <param name="AAA" value="2"> </applet> <form name="sendform" action=""> <input type="TEXT" name="BBB" value="999"> <input type="BUTTON" name="RELOAD" value="RELOAD" onclick="sendValue(this.form);"> </form> </body> </html>

t_dragon_2000
質問者

補足

了解です。早速のRESをありがとうございます。 実装してみます。 これがうまくいくと、かなり精神的に楽になるので感謝です。

その他の回答 (1)

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

JavaScriptからアプレットのメソッドを呼び出すことは可能ですが、でもこんなの、アプレットにテキストフィールドを表示したほうが簡単そう…。

t_dragon_2000
質問者

補足

それがですね、まず印刷の要求がありまして、 アプレットからローカルプリンタへは印刷できないので、 HTML全体を印刷しようとしてます。 次に、不要な部品(テキストフィールドとか)を印刷したくない ということで、やむをえずこの方式を採用せざるをえないのです。 HTMLのwindow.printと、部品のHIDDENを組み合わせて実装しています。 で、はたと気がついたのが、APPLETのPARAMはHTMLからどうやって渡せるのか、ということなのです。 なんとか実装できないかご教授をお願いします。

関連するQ&A

  • Java APPLET

    教えてください、お願いします。 ここにソースを入れます。なので長文になりますが申し訳ありません。 “水面のようにjpg画像が揺れる”アプレットです。 ダウンロード先は http://www.durius.com/ ここです。 ダウンロードし、家でいくつか試しましたがどのサンプルも見られますので、写っても良いはずなのですが… ★ではアプレットソースだけはじめに入れます。 <APPLET archive="DuriusWaterPic.jar" WIDTH="400" HEIGHT="300" ALIGN="middle" CODE="DuriusWaterPic.class"> <PARAM NAME="cabbase" VALUE="DuriusWaterPic.cab"> <PARAM NAME="image" VALUE="http://kkpen.web.fc2.com/flower-preview.jpg"> <PARAM NAME="dim" VALUE="5"> <PARAM NAME="noise" VALUE="0"> <PARAM NAME="mouse" VALUE="7"> <PARAM NAME="timer" VALUE="0"> <PARAM NAME="target" VALUE="_blank"> <PARAM NAME="orientation" VALUE="v"> <PARAM NAME="bg" VALUE="233423"> <PARAM NAME="http://java.sun.com/products/javawebstart/apps/remoteApps.html./" VALUE="http://www.durius.com/ http://altavista.digital.com/ http://www.javaboutique.com/ http://www.davesclassics.com/"> <PARAM NAME="reg" VALUE="22454732"> </APPLET>

  • AppletのTextFieldとButton

    TextFieldに値を入力して、Buttonをクリックするとその値が変数nに代入されるというソースを、どなたか教えていただけませんでしょうか? public void ABC extends Applet{ int n = 0; public void init(){ TextField tf = new TextField("0",5); Button btn = new Button("click!"); this.add(tf); this.add(btn); この後、actionなんちゃらメソッドやらクラスやらでどうにか値をnに入れた結果を実行させたいのですが、よくわかりません。よろしくお願いします。

    • ベストアンサー
    • Java
  • javascriptでinput属性の入力

    複数のボタンがあります。 それぞれのボタンによって、value値を変えたいと考えています。 通常であれば <button class='button' type='submit' name='volume' value='350'>350購入</button> <button class='button' type='submit' name='volume' value='450'>450購入</button> という形を利用しますが、理由があり、 type='submit' を使用できません。 そこで、 <input id="button350" type="button" value="350購入" /> <input id="button450" type="button" value="450購入" /> というsubmit属性の無いボタンを使用しながら、「javascriptを使いname value を抽出しsubmitまで持っていく」ことを考えています。 そこで、下記のようなものを2種類(350と450は別の記載方法でテスト)作ってみましたが、いずれもsubmitは出来ますが、value値を渡すことが出来ません。 どのように書けば、name属性にvalue値を渡すことが可能でしょうか? <form action="abc.php" method="post" name="form2" id="form2"> <script> $(function(){ $('#button350').click(function() { $('input[type=\'submit\']'); $('input[name=\'volume\']'); $('input[value=\'350\']'); $('#form2').submit(); }); $('#button450').click(function() { $('input[type=\'submit\'],[name=\'d4_buy_stock_volume2\'],[value=\'450\']'); $('#form2').submit(); }); }); </script> <BR> <BR> <input id="button350" type="button" value="350購入" /> <BR> <input id="button450" type="button" value="450購入" /> </form>

  • JavaScriptの値をjavaに渡す方法

    function cansel_goBack(){ document.form1.canselval.value = "cansel"; document.form1.action="abc"; document.form1.submit(); } // --> </SCRIPT> (中略) <input type="hidden" name="canselval" value="">   <input name="back" type="button" value="キャンセル" onClick="cansel_goBack()"> 「document.form1.canselval.value = "cansel"」この値をjavaで取得するにはどうすればいいでしょうか? 以下のようにしてみたのですがダメでした 「javaファイル=ABC: canselval =(String)request.getParameter("canselval");」

  • Firefoxでvalueの値を変更できない

    フォームの値を通常 <input name="Reload" type="hidden" value="1" id="Reload" /> で飛ばしていますが、サブウィンドウで操作後識別のために window.opener.document.getElementById('Reload').value=2 と値を変更するようにしていました。 しかし、IE6では動くのですがFirefoxでは値が変更できずに悩んでいます。 良い解決法があればよろしくお願いいたします。

  • submitではなくbuttonで送信

    事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。

  • JavaScriptで電卓を作って一応完成はした

    のですが、分からないコードがあります。以下のコードです。 ~HTML~ <form name="dentaku"> <input type="text" name="line" value="0"> <input type="button" value="C" onclick="cl()"> <input type="button" value=" 7 " onclick="val(7)"> <input type="button" value=" 8 " onclick="val(8)"> <input type="button" value=" 9 " onclick="val(9)"> <input type="button" value="÷" onclick="keisan('/')"> <input type="button" value=" 4 " onclick="val(4)"> <input type="button" value=" 5 " onclick="val(5)"> <input type="button" value=" 6 " onclick="val(6)"> <input type="button" value="×" onclick="keisan('*')"> <input type="button" value=" 1 " onclick="val(1)"> <input type="button" value=" 2 " onclick="val(2)"> <input type="button" value=" 3 " onclick="val(3)"> <input type="button" value="-" onclick="keisan('-')"> <input type="button" value=" 0 " onclick="val(0)"> <input type="button" value=" ・ " onclick="val('.')"> <input type="button" value=" + " onclick="keisan('+')"> <input type="button" value="=" onclick="keisan('=')"> </form> ~JavaScript~ total = 0; input = ""; ope = "+"; flg = 1; function val(data) { flg = 0; input += data; document.dentaku.line.value = input; } function keisan(data) { if (flg == 0) { flg = 1; cf = total + ope + input; total = eval(cf); input = ""; document.dentaku.line.value = total; } if (data == "=") { total = 0; ope = "+"; } else { ope = data; } } function cl() { total = 0; ope = "+"; input = ""; document.dentaku.line.value = total; } 関係のないコードは省略してあります。また、CSSも省略しますが、テーブル要素を使わず以下の画像のようにインライン要素(input要素)の性質を利用して回り込みをさせています。 長くなりましたが、そこで質問なのですが、 (1)変数ope(operandの略)なのですが、初期値は+なのに演算子ボタン(上記のHTMLコード)をクリックすると、なぜ値がその演算子に変わるのか理由を教えて下さい。 何となく理由は分かりますが、はっきりと理解したいです。 (2)上記のHTMLコードをもっと簡単に書けませんか? 特にonclickをボタンの数だけ書くのは手間です。

  • JavaScriptが表示されません

    JavaScriptの練習をしています。 階層型メニューの表示ができるようになりたいのですが、今のところは基礎からと思い、単純なところから初めて・・・みようとしたのですが どしょっぱつから、ひっかかりました ◆例1 <script language="JavaScript"> <!-- document.write(こんにちは); //--> </script> ◇結果 IE画面上に、なにも表示されません ※以前、全く同じ構文で試したときには こんにちは が表示されました。 ※環境は同じで、変わっていません ◆例2 <form> <input type="button" value="戻る" onclick="history.back()"> <input type="button" value="更新" onclick="location.reload()"> <input type="button" value="進む" onclick="history.forward()"> <input type="button" value="トップページへ" onclick="location.href='http://www.red.oit-net.jp/tatsuya/index.htm'"> </form> ◇結果 これは、表示されました。 何回試しても、ちゃんと表示されます +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ いったい何が問題なのでしょうか?

  • PHPの囲みかた

    以下のPHPが動かない、画面が真っ白になってしまうのですがなぜでしょうか? また<?php ?>でPHPは囲みますが、一画面で何回も囲んでも構わないでしょうか? <input name="button" type="button" onclick="location.href='/abc.php'" value="abc"> <?php  print ('<input type="button" value="aaa" onClick="location.href='/aaa.php'">'); ?> <input type="button" value="bbb" onClick="location.href='/bbb.php'">

    • 締切済み
    • PHP
  • アプレットからHTMLのパラメータ獲得について

    長文になりますが、すみません。 アプレットからHTMLのパラメータ獲得についてですが、 通常はAppletクラスの[getParameter(String)]メソッド を使用しますよね。 この時、例えば、HTML側で同一種類の情報としてアプレットに対して渡したい場合、 <param name="Color1" value="black"> <param name="Color2" value="white"> <param name="Color3" value="blue"> <param name="Color4" value="red"> として (Colorの次に来る数字は、1始まり固定で+1ずつ増え最後の数字はHTML表示する毎に変わります。)、 アプレット側はこの"Color"情報を配列で管理したい場合、この情報を格納する配列変数の初期化をするのに簡単に知る方法はないでしょうか? 私が思いつくのは 一回配列変数の要素数を確定するために ------------------------------------------------ String[] color; int counter; for(int i = 1; i < Applet.getParameter("Color"+ i) != null; i++) { counter++; } color = new String[counter]; ------------------------------------------------ とループして要素数を確定した後にもう一度Stringオブジェクトに値を代入するために ------------------------------------------------ for(int i = 0; i < counter; i++) { color[i] = Applet.getParameter("Color"+ i); } ------------------------------------------------ と二重にループするしか方法はないのでしょうか? 数を知る方法だけでなくとも、 他にスマートに情報を獲得する方法はないでしょうか?