- 締切済み
Javaでフォームのオブジェクトをどのように記述するか
こんにちは。いつもお世話になっています。 現在ポップアップウィンドウを用いた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などでキャッチすればいいのでしょうか?ただ名前だけキャッチしても処理させるにはどうするのかわかりません・・・) またこのようなことは不可能でしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- bgbg
- ベストアンサー率53% (94/175)
失礼しました。カスタムタグに属性を付加したいというお話ですね。 カスタムタグに属性を付加したい場合は、カスタムタグのクラスにsetXXXXというメソッドを追加するだけです。 属性名がelementsならsetElements、というように。 詳しくは参考リンクの「属性を持つカスタムタグ」をご覧下さい。 ただ、カスタムタグにするよりもJavaScriptの当該部分をJavaScriptの関数にして、外部ファイルにしたほうがすっきりするのではないかと思います。 JavaScriptを外部ファイルにした上で関数の呼び出し部分をカスタムタグにするという複合技もいいかもしれません。
- bgbg
- ベストアンサー率53% (94/175)
JavaScriptの話題はJavaScriptのカテゴリーへ投稿しましょう。 そちらの方が回答がつきやすいですし。 # JavaとJavaScriptは全く別物です。
お礼
javaファイル(タグハンドラ)への記述方法なのですがこちらでだめでしょうか^^;
補足
回答ありがとうございます。 また私の言葉不足で申し訳ありません。 補足させていただきます。 現在 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に記述すれば、よろしいのでしょうか? もしご存知でありましたらよろしくお願いいたします。