今日はExcelをエクスポートする際にFormフォームの入力非表示を利用してエクスポートと検索を区別してみました。初めはjsのonClickイベントの関数名がhiddenのidと同じになっています。その結果、「関数が呼び出された行のオブジェクトはこの属性をサポートしていません」というエラーが報告されます。
ずっと探しても原因が分かりませんでした。最初は文字間違いかと思いましたが、js 関数がまったく実行されていなかったことが分かりました。その後、他の関数を直接呼び出すことができなくなり、関数名が原因だと思い、動作する前に関数名を変更しました。次に、入力の ID を関数名と同じに変更すると、別のエラーが発生しました。次の例で検証する前は、これは ThinkPHP テンプレート解析のバグだとずっと思っていました。以下の例により、js内の関数名と要素内のidを同じにすることはできないことが確認されています。
例: