TCA 类型输入 eval 用户函数在 IRRE 模式下无法正常工作
当从 IRRE 字段调用记录时,我遇到自定义 eval 函数的问题,特别是使用 JavaScript 函数时。
例如我打开编辑“table1”的基本记录,然后单击IRRE字段为“table2”创建一条记录,“table2”记录的字段具有eval用户函数,在正常编辑中可以正常工作,但是在 IRRE 中,这些函数仅在保存表单后才起作用,因此第一次创建记录时,这些函数无法完成它们的工作。
我不明白问题出在哪里,也许Javascript代码没有加载。如何将该文件手动添加到后端模板?我该如何面对这种情况呢?
我尝试使用控制台进行调试,当调用函数时,存在这些文件:
alt_doc.php:765
jsfunc.evalfield-e6a70fd19bf472ef08fa4754aae256b8.js:69
jsfunc.tbe_editor-def45aac90022eed51193264931eefb3.js:660
alt_doc.php:408
alt_doc.php:409
提前致谢。
I have a problem with the custom eval functions when the record is called from an IRRE field, in particular with the JavaScript function.
For example I open to edit the base record of "table1", then I click an IRRE field to create a record to the "table2", the fields of the records of "table2" have eval user functions that works Ok in normal editing, but when in IRRE the functions only work after save the form, so the first time when the record is created those functions are not doing them jobs.
I don't understand where is the problem, maybe the Javascript code is not loaded. How can I add that file manually to the backend template? How can I face this situation?
I tried to debug with console and when the functions are called these files are present:
alt_doc.php:765
jsfunc.evalfield-e6a70fd19bf472ef08fa4754aae256b8.js:69
jsfunc.tbe_editor-def45aac90022eed51193264931eefb3.js:660
alt_doc.php:408
alt_doc.php:409
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是JS代码启动的问题。当您打开父表单时,在 IRRE 表单中使用 eval 的字段的 JS 代码不会启动,当您保存创建了 IRRE 的表单时,Typo3 会重新加载框架,现在 JS 是可以访问的。
我不知道绕过这个的透明方法,您必须在创建 IRRE 表单后保存父表单才能使用 IRRE 表单的 JS 自定义 eval 代码。
It is a problem with the launch of the JS code. When you open the parent form the JS code of the fields that use eval in the IRRE form is not launched, when you saved the form with the IRRE created, Typo3 reloads the frame and now the JS is accesible.
I don't know a trasparent way to by-pass this, you must save the parent form after create the IRRE form in order to use the JS custom eval code of the IRRE form.