3

変化のあるページのフィールドを見ています。

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

変更後に発生するルールのフィールドの新しい値をどのように取得しますか?

私はこのようなルールを持っています

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

新しい値を取得する方法がわかりません。送信時にウォッチを使用できません。

ありがとう

4

1 に答える 1

3

私はあなたがやろうとしていると思うことを推測するつもりです:

ページに入力があり、ユーザーが入力を入力すると、イベントを発生させ、ユーザーが入力した入力から新しい値を取得して、ユーザーが何であれそれに反応できるようにする必要があります。で入力しました。

私が行った仮定に基づいて:

監視アクションは、監視しているアクションでイベントを発生させるだけであり、イベントとともに他のデータを送信しないため、実際に使用したいものではありません。あなたはあなた自身のカスタム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 に答える