0

Plone4 / Zope3の下に、新しいオブジェクトを追加するためのフォームがあります。

最初のフィールドの後にボタンを追加して、次の操作を行います:-ユーザーが最初のフィールドの値を入力します-この新しいボタンを押します-サーバーは最初のフィールドに基づいて残りのフィールドを推測しようとしますおよび外部データベース。-ユーザーは、すべてのフィールドに問題がないかどうかを確認してから、フォームを送信する必要があります。

私はzopeの専門家ではないので、これを行う方法を理解するために時間を費やしました。

サブフォームを作成するのは良い考えですか?

そうでない場合は、フォームに新しいボタンを追加できます。@ button.buttonAndHandler(_(u'Essai'))def essai(self、action):print"buttonessai"のようなものを試しました。

しかし、私は次の問題を抱えています:-ボタンを最初のフィールドの後に、下部ではなくレンダリングする方法は?-フォームを送信せずに残りのフィールドを更新するにはどうすればよいですか?-このエッセイボタンを追加したときに消えた「追加」ボタンと「キャンセル」ボタンを保持する方法。

ヒントはありますか?どうも

4

1 に答える 1

0

これを解決するには、JavaScriptを使用することをお勧めします。jqueryを使用すると、最初のフィールド(http://api.jquery.com/after)のすぐ後ろに追加のボタンを含めることができます。ボタンアクションで、ブラウザビューにjson(http://docs.python.org/library/json.html)の検索結果を要求し、次のような他のフォームフィールドに入力します。

jq('my-button').click(function(event) {
    event.preventDefault();
    var first_field= jq('#first-field-id').val();
    jq.getJSON('/@@my-browser-view?value=' + value, function(result) {
        jq('#other-field-id').val(result.val_for_other_field);
        ...
    });
});
于 2012-05-02T10:23:28.527 に答える