バックグラウンド
だから私はダッシュボードを構築しています。ある時点で、ユーザーは「ウィジェットの追加」ボタンを押します。ファンシーボックスは、ファンシーボックス内にターゲット div をロードします。コードは次のようになります。
<script type="text/javascript">
$(document).ready(function (){
$("#various1").fancybox({
'titlePosition': 'inside',
'transitionIn': 'none',
'transitionOut': 'none',
'closeBtn': 'true'
});
});
</script>
<!-- Add Widget Button-->
<div class="cell_title_buttonAddWidget" style="right: 90px;">
<a id="various1" href="#AddWidget">Add New Widget</a>
</div>
ファンシーボックスには、いくつかのテキストフィールドとドロップダウンリストが含まれています。これらのドロップダウン リストには、データベース データが入力されます。ユーザーは選択を行います (たとえば、ウィジェット内で表示したいチャートのタイプ)。最終的に、ユーザーはすべての選択肢を選択し、テキストフィールドにテキストを入力しました (例: ウィジェットのタイトル)。ユーザーは「保存」ボタンを押します。このコードは次のようになります (簡単にするために、ウィジェットのタイトル用のフィールドを 1 つだけ追加しました)。
<div style="display: none">
<div id="AddWidget" style="width:800px">
<div class="cell" style="margin: 0;">
<div class="cell_title">Add Widget</div>
<table style="margin: 10px;">
<tbody>
<tr>
<td class="form_label">Widget Title:</td>
<td>
<input id="AddWidgetTitle" runat="server" style="width: 250px;">
</td>
</tr>
<tr>
<td class="form_label"></td>
<td>
<input id="saveWidget" runat="server" type="button" value="Save" OnServerClick="saveWidget_Click">
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
とりあえず実現したいこと
保存ボタンを押すと、saveWidget_Click 関数が起動されます。次に、AddWidgetTitle.value を読み取って、AddWidgetTitle の値を文字列に (後でデータベースに) 入れたいと考えています。
問題
入力ボタンを押すと、コード ビハインドで saveWidget_Click 関数を起動します。ただし、その前に page_load 関数が実行されます。この時点で、すべてのテキストフィールドとドロップダウンリストの選択項目は空です。テキストフィールドは "" と表示されます。データベースへの INSERT クエリ行を開始して saveWidget_Click 関数内にデータを保存したいのですが、データが空です。
たぶん、「データが入ったポップアップウィンドウ」に間違った方法で近づいているのかもしれません。しかし、何かが欠けているだけで、fancyboxを使用して必要なものが実現できることを願っています。
結論は
ファンシーボックス内のテキストフィールドとドロップダウンリストにデータベースデータを入力できます。ただし、保存ボタンを押すとページがリロードされ、入力されたすべてのデータが失われるため、編集したテキストフィールドと選択したドロップダウンリスト項目をデータベース内に保存できません。