0

Dojo で Ajax 専用フォームを作成することは可能ですか? ボタンのクリック/ENTERでAJAXリクエストを行う必要がありますが、ページ全体を更新する必要はありません。

これは私の簡単なダイアログの内容です:

<div id="myDialog">
  <table>
    <tr>
      <td>Name</td>
      <td><input name="name" type="text"/></td>
    </tr>
    <tr>
      <td>Owner</td>
      <td><input name="owner" type="text"/></td>
    </tr>
  </table>
  <div class="buttons">
     <button class='ok'>OK</button>
     <button class='cancel'>Cancel</button>
  </div>
</div>  

私はそれをフォームに変換します:

form = new Form({action: okAction, method: ''}, dojo.byId('myDialog'))

問題は、Dojo フォームを作成した後、ボタンに対するアクションが呼び出されなくなり、代わりにそれらのいずれかをクリックするか、Enter キーを押すとページが更新されることです。

ページ全体を送信する代わりに、AJAX リクエストをフォームにバインドすることは可能ですか? JSF2ではそのように機能しています。

私は AJAX アプリケーションでフォームを使用するのは好きではありませんが、Dojo 検証を使用したいと思っています。

4

2 に答える 2

1

このactionプロパティは、ページを送信することを意味し、ページが完全に更新されます ( の戻り値によって異なりますokAction)。onSubmitクライアント側のフォーム送信を作成する場合は、イベント ハンドラーを使用する必要があります。次に例を示します。

form.onSubmit = function(event) {
    // Do this stuff
};

@James Jithin が彼の回答で説明しているように、イベント ハンドラーにはおそらく AJAX リクエストが含まれます。

イベント ハンドラーの詳細については、API ドキュメントを参照してください。

于 2013-10-11T09:44:39.890 に答える