- PR -

JavaScriptの質問ですが・・・。

1
投稿者投稿内容
Javaスターター
ベテラン
会議室デビュー日: 2004/06/14
投稿数: 67
投稿日時: 2006-02-26 16:56
こんにちは。Java Scriptの質問をどこにすればいいのかわからなかったので、
とりあえずここで質問させていただきます。

テキストボックスに文字列を入力し、となりの送信ボタン押下により、文字列のファイル名のファイルを取得するプログラムを作成しようと考えています。
(処理の細かい部分についてはデバッグ用なので、あまり気にしないでください。)

JavaScriptでHTMLの表を自動で作るプログラムを作成している中で、以下ところでエラーが出ています。
document.write("<TD><INPUT onclick="+func(form, form.mfp_url,
form.fidname[i])+" type=button value=送信 name=VaildId></TD>\n");

mfp_urlはNULLまたはオブジェクトではありません。

どこがおかしいのかご教授いただけませんでしょうか?
よろしくお願いいたします。

/**********以下、ソースです。**********/


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>TEST TOOL</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS">
</HEAD>
<BODY>
<SCRIPT type="text/javascript">
<!--
function func(form, val1, val2) {
url = val1.value;
fid = val2.value;
location.href = "http://"+url+"/test.html?fileid="+fid+"&VaildId=XXXX";
}

function makeTable(form){
var i=0;

fidname = new Array(
"fidname1",
"fidname2",
"fidname3",
"fidname4",
"fidname5",
"fidname6",
"fidname7",
"fidname8",
"fidname9",
"fidname10");

cboxname = new Array(
"checbox1",
"checbox2",
"checbox3",
"checbox4",
"checbox5",
"checbox6",
"checbox7",
"checbox8",
"checbox9",
"checbox10");

for(i+1;i<10;i++){
document.write("<TR>\n");
document.write("<TD>"+(i+1)+"</TD>\n");
document.write("<TD><INPUT name="+fidname[i]+"></TD>\n");
document.write("<TD><INPUT onclick="+func(form, form.mfp_url,
form.fidname[i])+" type=button value=送信 name=VaildId></TD>\n");

document.write("<TD><INPUT type=checkbox name="+cboxname[i]+"></TD>\n");
document.write("</TR>\n");
}

}

// -->
</SCRIPT>
<P><FONT face="MS UI Gothic"></FONT>&nbsp;</P>
<P><!--<FORM name="form1" onsubmit="func()">-->
<FORM name="form1" method="get">
<P>&nbsp;</P>
<P></P>
<P>URL=<INPUT value="10.36." name="mfp_url"></P>
<P>
<TABLE cellSpacing="1" cellPadding="1" border="1">
<TR>
<TD>#</TD>
<TD>FileID</TD>
<TD>送信ボタン</TD>
<TD>確認</TD>
</TR>
<SCRIPT type="text/javascript">
<!--
makeTable(this.form);
// -->
</SCRIPT>

</TABLE>

</FORM>
</BODY>
</HTML>
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-26 17:48
慣例的にこちらの会議室でも JavaScript の話題はスルーしないので問題はないですが、
Web 全般の話題であればこちら↓でしょうか。
http://www.atmarkit.co.jp/bbs/phpBB/viewforum.php?forum=28

>(処理の細かい部分についてはデバッグ用なので、あまり気にしないでください。)
現象を再現させるのに必要最低限の状態を作り上げると問題解決は早いですよ。
今回の場合 document.write() で動的にスクリプトを書き出したり、大量の array のデータとかなくても現象を再現させられますよね?
シンプルにすればこういった掲示板にソースを貼り付けたときに読んでもらえる可能性も上がります。

で、肝心のエラーですが mfp_url が参照できないようなので、"document.form1.mfp_url"と書けば良いかもしれません。

あと、老婆心ですがせっかくですから質問した後は解決した場合もしない場合もレスを付けることをお勧めします。
個人的には、ボランティア活動の成果が実ったかを楽しみにしていますし、後日Googleから辿り着い
た人も回答が有効だったのかそうでなかったのか判断がつきませんので。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=23216&forum=12
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=23044&forum=12
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21762&forum=12

[ メッセージ編集済み 編集者: インギ 編集日時 2006-02-26 17:59 ]
Javaスターター
ベテラン
会議室デビュー日: 2004/06/14
投稿数: 67
投稿日時: 2006-02-26 18:42
インギさんありがとうございます。
とりあえず書き方がわかったので、あとは自力でやってみます。
あと書き込みの情報ありがとうございました。
今後、JavaScriptはそちらのほうに質問します。
1

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