• 締切済み

「エラー:…は宣言されていません。」について

下記のようなスクリプトコードがあります。 <html> <head> <%@ page contentType="text/html; charset=Windows-31J" %> <meta http-equiv="Cache-Contorol" content="no-cache"/> <meta http-equiv="Expires" content="-1"/> <title>test</title> <script type="text/javascript"> <!-- function dispText(id) { var filePath = document.getElementById("fileMei").value; var ret; if (!filePath) { return ret; } var fileTypes = filePath.split("."); var len = fileTypes.length; if (len === 0) { return ret; } ret = fileTypes[len - len]; var filename; if (!ret){ return ret; } filename = ret.split("\\"); len = filename.length; if (len === 0) { return ret; } ret = filename[len - 1]; document.getElementById(id).value = ret; } --> </script> </head> (一部抜粋) <logic:iterate name="fileInfoForms" id="fileInfoForm" indexId="index"> <tr> <bean:define id="idx">bunsyoMei<bean:write name="index" /></bean:define> <td class="listdetail<%=index%2%>" id="<%=index%2%>"> <html:text name="fileInfoForm" property="bunshoMei" styleId="idx" size="72" maxlength="50" style="ime-mode:active" indexed="true"/></td> <td class="listdetail<%=index%2%>"> <input type="file" id="fileMei" name="fileInfoForm[<%=index%>].fileMei" onkeydown="return checkEvent();" onbeforeeditfocus="return false;" onchange='<%="dispText("+idx+")"%>'/> --(1) </td> </tr> </logic:iterate> 参照ボタンよりファイルを選択し、ファイル名をテキストに表示したいのですが (1)の箇所で「エラー:'bunsyoMei0'は宣言されていません。」と表示されます。 回避させる方法はありますか?

みんなの回答

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

JSPを眺めるんじゃなくて 生成されたHTMLを見ないと なかなかわからないものよ? 実際のとこ画面内に「bunsyoMei0」が無いから 起きているエラーだと思うんだけど 全文が書いてあるわけじゃないから 無いんじゃないの?としか言えないわ

kepper
質問者

お礼

回答ありがとうございました。 何か初歩的なミスなのはわかっており HTMLをみたりデバッグしたりしておりましたが 原因追求できずにいました。 気を取り直し見直しました所 styleId="idx"になっておりました。 styleId="<%=idx%>"にすることで解決できました。 ご指摘ありがとうございました。

関連するQ&A