重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

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

こんにちは。いつもお世話になっています。
現在ポップアップウィンドウを用いたWEBページを作成し、その機能をカスタムタグによって再現するという作業をしています。
mainWinからsubWinを開き、sabWinからmainWinに表示された画像をjavascriptで変化させるというものです。
まず
ラジオボックスがチェックされているかなどを調べる
for(i=0; i<document.forms[name].elements[form_ele].length; i++) {
if(document.forms[form_name].elements[form_ele][i].checked) break;
}
(form_nameはフォーム名form_eleは要素名でこの関数呼び出し時に引数で渡しています)
などの処理があり、その後画像変更を行います。
基本はimageに
image = document.forms[form_name].elements[form_ele][i].value;
でフォームで選択した画像名を渡し
window.opener.document.getElementById('ID').src=image;
(IdのIDは変更場所を示しています)
によって画像を変更しています。

現在window.opener~のところを
<castom tag:カスタムタグ名 mode="getElementById('ID').src" value="image"/>
といったように書き換えるタグは単純ですので可能でしたが
form_nameやform_eleもカスタムタグのところで要素として(?)渡し、
(<casom tag:カスタムタグ名 mode="getElementById('ID').src" value="image" name="form_name" elements="form_ele"/>といったふうに)
チェック済み判定部分などすべてカスタムタグで表記できないかと考えています。
しかしforms[form_name]やwindow.opener等のオブジェクト名(?)はどのようにすればjavaが理解し、処理してくれるのでしょうか?
(getParameterなどでキャッチすればいいのでしょうか?ただ名前だけキャッチしても処理させるにはどうするのかわかりません・・・)
またこのようなことは不可能でしょうか?
よろしくお願いします。

A 回答 (2件)

失礼しました。

カスタムタグに属性を付加したいというお話ですね。

カスタムタグに属性を付加したい場合は、カスタムタグのクラスにsetXXXXというメソッドを追加するだけです。
属性名がelementsならsetElements、というように。
詳しくは参考リンクの「属性を持つカスタムタグ」をご覧下さい。

ただ、カスタムタグにするよりもJavaScriptの当該部分をJavaScriptの関数にして、外部ファイルにしたほうがすっきりするのではないかと思います。
JavaScriptを外部ファイルにした上で関数の呼び出し部分をカスタムタグにするという複合技もいいかもしれません。

参考URL:http://ash.jp/java/taglib_hello.htm

この回答への補足

回答ありがとうございます。
また私の言葉不足で申し訳ありません。
補足させていただきます。
現在
javascriptの関数で
window.opener.document.getElementById('ID').src=image;
の部分を
<castom tag:カスタムタグ名 mode="getElementById('ID').src" value="image"/>
という風に置き換え
タグハンドラには
out.print("window.opener.document." + mode "=" + value);
と記述して単純なカスタムタグを作成している状態です。
これからしたいことは
for(i=0; i<document.forms[name].elements[form_ele].length; i++) {
if(document.forms[form_name].elements[form_ele][i].checked) break;
}
の部分をタグハンドラにどう記述するかと言うところです。
for文は普通に記述するにしても
document.form~がjavaからするとなんじゃそりゃ
ということになります。
どういう風にjavaに記述すれば、よろしいのでしょうか?

もしご存知でありましたらよろしくお願いいたします。

補足日時:2006/12/07 22:43
    • good
    • 0

JavaScriptの話題はJavaScriptのカテゴリーへ投稿しましょう。


そちらの方が回答がつきやすいですし。

# JavaとJavaScriptは全く別物です。
    • good
    • 0
この回答へのお礼

javaファイル(タグハンドラ)への記述方法なのですがこちらでだめでしょうか^^;

お礼日時:2006/12/06 19:45

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