- PR -

JAVAScript、外部ファイルへの引数受け渡しの方法

1
投稿者投稿内容
のの
ベテラン
会議室デビュー日: 2004/11/10
投稿数: 88
投稿日時: 2006-11-28 09:23
JAVAScript、外部ファイルへの引数受け渡しの方法について教えて下さい。
やりたいこととしては、あるラジオボタンObjで未入力であるかどうか
のチェックを共通化として、外部ファイルにて行いたいと思います。

例) 年齢==> ○10才〜、○20才〜、○30才〜
   、、、といった表記を行い、○がラジオボタンだとして、
   いずれかにチッェクされているかを確認したいのです。

本体(JAVAScript)から、受け渡す情報は
・From名
・ラジオボタンname
・ラジオボタン数
で、良いかと思っています。それをふまえた上で記述すると
*****本体(JAVAScript)の記述****************

RADIO_CHECK(this.form,'NENREI_RADIO','3');

*****外部ファイルの記述****************

function RADIO_CHECK(form_name,radio_nm,radio_num){

for(i=0; i<no; i++) {
alert(form.rdo_nm[i].checked);
OK_FLG = "OK";
}
〜〜〜〜〜〜
end function

上記の様な記述で、フォーム名、ラジオ名称など受け取れると
思ったのですが、うまくいきません。
何故だかわかるかた、ご教授下さい。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-11-28 10:23
外部だろうと内部だろうとスクリプトの動作に違いは有りません。

そもそも、end functionとはなんでしょうか?
VBScriptと勘違していませんか?

また、"うまくいかないとは"とは何を意味していますか?
実行エラーですか?どんなメッセージですか?
それとも予期していない動作ですか?
のの
ベテラン
会議室デビュー日: 2004/11/10
投稿数: 88
投稿日時: 2006-11-28 10:34
恐れ入ります。

まず、「end function」は間違いです。

エラーの内容としては、
「alert(form.rdo_nm[i].checked);」の行でエラーとなって
まして、「rdo_nmはオブジェクトはない」という内容でした。

単純に、「rdo_nm」をalertで内容を表示すると、
正しく、'NENREI_RADIO'と表示されますが
「rdo_nm[i]」をalertで内容を表示しようとしても
同様のエラーとなってしまいます。



87
会議室デビュー日: 2005/06/17
投稿数: 13
投稿日時: 2006-11-28 11:24
引用:

ののさんの書き込み (2006-11-28 10:34) より:

単純に、「rdo_nm」をalertで内容を表示すると、
正しく、'NENREI_RADIO'と表示されますが
「rdo_nm[i]」をalertで内容を表示しようとしても
同様のエラーとなってしまいます。



「rdo_nm」は'NENREI_RADIO'という文字列が入っているので当然の動作です。

いろいろやり方はあると思いますが、こんなのはどうでしょう?

 alert(eval("form."+rdo_nm+"["+i+"].checked"));
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-11-28 11:38
>function RADIO_CHECK(form_name,radio_nm,radio_num){
でform_nameとして渡ってきているものを使いたいのに、

>alert(form.rdo_nm[i].checked);
のformとはいかに…? もっとも、オブジェクトでなく文字列なのでform_nameにするだけでもだめですが。

document.forms[form_name].elements[radio_nm]ですね。
これのlengthを取ればいくつあるかは取れるので、引数に数は不要でしょう。

実際には、document.forms[form_name]がnullでないかどうか、
document.forms[form_name].elements[radio_nm]がnullでないかどうかもチェックするほうが良いでしょう。
87
会議室デビュー日: 2005/06/17
投稿数: 13
投稿日時: 2006-11-28 12:10
引用:

mioさんの書き込み (2006-11-28 11:38) より:

document.forms[form_name].elements[radio_nm]ですね。
これのlengthを取ればいくつあるかは取れるので、引数に数は不要でしょう。

実際には、document.forms[form_name]がnullでないかどうか、
document.forms[form_name].elements[radio_nm]がnullでないかどうかもチェックするほうが良いでしょう。



この方が的確ですね。忘れてしまってました。勉強になります。
1

スキルアップ/キャリアアップ(JOB@IT)