今日はExcelをエクスポートする際にFormフォームの入力非表示を利用してエクスポートと検索を区別してみました。初めはjsのonClickイベントの関数名がhiddenのidと同じになっています。その結果、「関数が呼び出された行のオブジェクトはこの属性をサポートしていません」というエラーが報告されます。
ずっと探しても原因が分かりませんでした。最初は文字間違いかと思いましたが、js 関数がまったく実行されていなかったことが分かりました。その後、他の関数を直接呼び出すことができなくなり、関数名が原因だと思い、動作する前に関数名を変更しました。次に、入力の ID を関数名と同じに変更すると、別のエラーが発生しました。次の例で検証する前は、これは ThinkPHP テンプレート解析のバグだとずっと思っていました。以下の例により、js内の関数名と要素内のidを同じにすることはできないことが確認されています。
例:
ユーザーエージェント: Mozilla/4.0 (互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727)
タイムスタンプ: 2011 年 1 月 27 日木 13:30:09 UTC
メッセージ: オブジェクトはこのプロパティまたはメソッドをサポートしていません
行数: 17
文字数: 1
コード: 0
URI: file:///C:/Documents and Settings/Administrator/デスクトップ /test.html