如何将变量检查编码到 Seaside jQuery onSuccess: 脚本中?
我有一个应用程序,其输入字段会触发值更改,然后重新呈现视图。它可以很好地根据显示的值提供域数据的生动反馈。
如果有未决的更改,该视图会显示“保存”和“取消”按钮。如果用户在输入字段后立即单击任一按钮,则输入字段的 onBlur: 脚本会阻止按钮操作发生。推荐的解决方案(由于文本框 onblur 事件中的警报框导致按钮单击事件丢失)是使用按钮的 'onmousedown' 事件来设置 onBlur 脚本检查的全局变量。
通过我的测试代码,我可以看到设置了全局“saveCancelButtonClicked”,但我不知道如何检查该值以防止呈现步骤。
html button
onMouseDown: 'saveCancelButtonClicked = 1;';
...
html textInput
onBlur: ((
html jQuery ajax
callback: [:stringValue | self checkValue: stringValue]
value: html jQuery this value)
onSuccess: (
(html jQuery id: 'selectedComponent') load html: [:renderer |
renderer script: 'console.log(saveCancelButtonClicked); '.
self renderSelectedComponentOn: renderer]) )]
如果按下保存按钮,我可以看到 console.log 显示“1”。那么如何检查该值并跳过“self renderSelectedComponentOn:”步骤?
在 javascript 中很容易做到(微不足道的 if 语句),但我在 Seaside 中没有找到示例。