3

我正在查看页面上的字段发生变化。

watch("#searchbox","change");

如何在更改后触发的规则中获取字段的新值?

我有这样的规则

rule get_update is active {
 select when web change "#searchbox"
  ....
}

我不知道如何获得新值。我不能在提交时使用手表。

谢谢

4

1 回答 1

3

我猜猜你想做什么:

您在页面上有输入,当用户输入输入时,您希望能够引发事件并从用户输入的输入中获取新值,以便您可以对他们输入的内容做出反应输入。

基于我所做的假设:

watch 操作并不是您真正想要使用的,因为它只会在它正在观看的操作上引发一个事件,并且不会随事件一起发送任何其他数据。您将需要编写一些您自己的自定义 JavaScript 来

  • 观察用户输入
  • 从输入中获取新值
  • 以新值作为参数引发 Web 事件

以下是取自http://kynetxappaday.wordpress.com/2010/12/16/day-8-raise-web-events-from-javascript/的一些示例代码,说明了在 JavaScript 中使用参数引发 Web 事件

ruleset a60x488 {
  meta {
    name "raising-custom-web-events"
    description <<
      raising-custom-web-events
    >>
    author "Mike Grace"
    logging on
  }

  rule run_on_a_pageview {
    select when pageview ".*"
    {
      notify("Hello","I ran on a pageview") with sticky = true;
      emit <|
        app = KOBJ.get_application("a60x488");
        app.raise_event("custom_event_just_for_me", {"answer":42});
      |>;
    }
  }

  rule respond_to_custom_event_raised_from_emitted_js {
    select when web custom_event_just_for_me
    pre {
      answer = event:param("answer");
    }
    {
      notify("What is the answer?",answer) with sticky = true;
    }
  }
}
于 2011-01-06T02:21:16.377 回答