私は各ajaxフォームを生成するページを各カメラに1つずつ持っています。送信時には、各カメラからの画像を含むdivがロードされます。私は彼らがロードするようにフォームを提出したいと思います。ロード時にajaxフォームを送信
これまでは、送信時にフォームがすでに実行していたアクションから、送信ボタンをajaxイベントにバインドするオンクリックイベントを除いたものを使用しました。
$(document).ready(function() {
$.ajax({data:$(".CameraContainer").closest("form").serialize(),
dataType:"html",
success:function (data, textStatus) {$("#ajaxPicture1").html(data);},
type:"post",
url:"\/cameras\/ajaxPicture"
});
return false;});
これらは両方とも、それぞれが独自のAjaxのdiv要素とCameraContainer
のdivを持って、n個のカメラコンテナのために反復されています。ここでは
は、HTML(一部CakePHPのdivのスープは削除)
<div id="CameraContainer">
<form action="/Cameras/ajaxPicture" id="CameraShowForm" method="post" accept-charset="utf-8">
<input type="hidden" name="_method" value="POST" />
<input type="hidden" name="data[Camera][camera]" label="Images:" value="CS011" id="CameraCamera" />
<label for="datepicker_value">Date: </label><input name="data[Camera][date]" type="text" id="datepicker_value" value="12/13/2011 12:00:00" />
<input type="hidden" name="data[Camera][count]" label="Images:" value="2" id="CameraCount" />
<input id="submit-490507801" type="submit" value="Load Pictures" />
</form>
</div>
<div id="ajaxPicture1" class="ajaxPicture"></div>
とJavaScriptですフォームのために。現在のところ、<script>
はループ内にありますが、ページの最後にロードできればよいでしょう。
これは私のフレームワークで生成されたコードから取られているため、完全に理解できません。私が望むのは、id CameraContainer
(フォームはこの要素の中にあります)を持つ要素に最も近いものを取得し、このデータをシリアライズして、それを私のajax関数(/cameras/ajaxPicture
)に送信することです。ただし、その関数に送信する配列は空です。したがって、この関数は結果を返しません。
特定の要素に最も近いAjaxフォームを取得し、コンテナdivにロードするにはどうすればよいですか?
ページロード時にフォーム投稿を送信したいのはなぜですか? – austincheney
既定の時間を設定して、時間に基づいて各カメラから画像を読み込む事前入力済みフォーム。ページの読み込みでは、例としていくつかのフォームとそれぞれのカメラからのカップルの画像が表示されます。私はそれをサーバー側でもやることができましたが、これが最も理にかなっていると考えて、最初のイメージ要求を他のすべてと同じように動作させています。 –