首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onBlur的Seaside + jQuery变量检查

onBlur的Seaside + jQuery变量检查
EN

Stack Overflow用户
提问于 2013-04-09 23:35:01
回答 1查看 255关注 0票数 1

如何将变量检查编码到Seaside jQuery onSuccess:脚本中?

我有一个应用程序,其输入字段触发值更改,然后重新呈现视图。它可以很好地根据显示值提供域数据的生动反馈。

如果存在挂起的更改,视图将显示“保存”和“取消”按钮。如果用户在输入字段之后单击任一按钮,则输入字段的onBlur:脚本将阻止按钮操作发生。推荐的解决方案(button click event lost due to the alert box in text box onblur event)是使用按钮的“onmousedown”事件来设置onBlur脚本检查的全局变量。

使用我的测试代码,我可以看到全局'saveCancelButtonClicked‘被设置,但我不知道如何检查该值以防止呈现步骤。

代码语言:javascript
复制
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中找到一个例子。

EN

回答 1

Stack Overflow用户

发布于 2013-04-10 21:41:55

Joachim Tuchel在Seaside邮件列表上回答了这个问题:

代码语言:javascript
复制
onSuccess: (
    (JSStream on: 'saveCancelButtonClicked == 0') then: (
        (html jQuery id: 'portalSelectedComponent') load html: [:renderer | 

呈现保存和取消按钮的...the方法包含...

代码语言:javascript
复制
 html script: 'saveCancelButtonClicked = 0;' .

...both保存和取消按钮实现...

代码语言:javascript
复制
 onMouseDown: 'saveCancelButtonClicked = 1;'; 

正如我所希望的那样:在更新输入字段后按下“...works”或“Cancel”按钮都会在第一次单击时触发回调。并且失去焦点会正常触发输入域onBlur操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15906240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档