0

フォームがあり、ダイアログボックスでパーツを表示したいと思います。

ただし、フォーム内のdivをダイアログに割り当てると、スクリプトの下部に配置され、フォーム要素内には配置されなくなるため、値を送信できなくなります。

好き:

<form>
<div id="dialog_container"><input name="test"></div>
</form>
<script> $('#dialog_container').dialog();</script>

この場合、divはフォームタグに残りません。

これをどのように解決しますか?

ありがとうございました!

4

2 に答える 2

1

同じ種類の問題を追加し、ダイアログフォームごとに非表示の入力を追加しました。

次に、ダイアログボックスを閉じるときに、非表示の入力をダイアログボックスの値に置き換えることができます。

そんな感じ:

<div id="dialog_container">
  <form id="dialog_form">
    ... any input ...
  </form>
</div>

<form id="main_form">
  <input type="hidden" id="test">
</form>

そしてjavascriptでは次のようなものです:

  $("#dialog_container").dialog({
    close: function(ev, ui) { 
         var dialogInput // build inputs from dialogInputs
                         // you can even mix former inputs with new ones
         $("#test").replaceWith( dialogInput  )
    }
  });
于 2012-10-31T14:18:24.690 に答える
1

次のようにタグをダイアログコンテナに入れます。

<div id="dialog_container">
    <form>
       <input name="test">
    </form>
</div>

編集

イベントonChangeをダイアログに追加してから、それらの値を元の形式の非表示フィールドに配置したり、ダイアログフォームからjsonオブジェクトをシリアル化して非表示フィールドに配置したりしないのはなぜですか。

また

このcssでその部分をdivに入れます:

#dialog_container {位置:固定; 上:10px; 左:10px; 背景色:白; 表示:なし; }

そして、ユーザーがクリックしてダイアログを開いた後、次のように呼び出します。$('#dialog_container')。show();

デモ: http: //jsfiddle.net/UpzSQ/5/

于 2012-10-31T12:32:04.850 に答える