Orbeon: отправка при изменении содержимого ввода

Я создаю поле веб-службы в своем файле xform. Моя судьба - иметь два поля, например: имя и приветственное сообщение. Сценарий таков: пользователь пишет свое имя в поле ввода имени, и когда он это делает, в поле ввода приветственного сообщения появляется текст из веб-сервиса. Я достигаю очень похожего эффекта, но с помощью кнопки (триггера): пользователь пишет свое имя, нажимает на кнопку, а затем появляется сообщение. Я хочу сделать это без кнопки, используя какое-то событие при изменении, но я не знаю, как это сделать.

Мой код:

<fr:grid>                                                                                                
   <xh:tr>                            
      <xh:td> 
         <xf:input bind="name-bind" id="name">
            <xf:label>Your name</xf:label>
         </xf:input> 
      </xh:td>                            
      <xh:td>        
         <xf:input bind="welcome-bind" id="welcome">
            <xf:label>Welcome text</xf:label>
         </xf:input>
         <xf:trigger>                                                                                                            
            <xf:label>Generate welcome from WS</xf:label>                             
            <xf:send ev:event="DOMActivate" submission="my-submission"/>                                                                                                         
         </xf:trigger>                              
      </xh:td>                            
   </xh:tr>                     
</fr:grid>

Если кто-то знает, как изменить мой код, чтобы достичь описанного эффекта, дайте мне несколько советов, пожалуйста.

С Уважением


person user2539823    schedule 12.02.2014    source источник


Ответы (1)


Если вы хотите, чтобы отправка запускалась, когда пользователи изменяют значение в поле name и покидают поле, чтобы перейти к другому полю (например, табуляция вне поля), вы можете написать:

<xf:input bind="name-bind" id="name">
    <xf:label>Your name</xf:label>
    <xf:send ev:event="xforms-value-changed" submission="my-submission"/> 
</xf:input> 

Вы также можете добавить DOMActivate в дополнение к xforms-value-changed (значение ev:event может быть списком событий, разделенных пробелами), если вы хотите, чтобы отправка также запускалась, если пользователи нажимают enter после ввода значения в поле .

person avernet    schedule 15.02.2014