2つの領域があります。1つは有効なアイテム用で、もう1つは無効なアイテム用です。ユーザーは[追加]をクリックして、コンテンツを有効な領域に送信できます。
問題は、フォームのクラスを変更して、追加ではなく削除にした場合、何も起こらないことです。
私はこの問題のjsfiddleを作成しました。1回だけでなく、何度でも切り替えることができるはずです。
ソースでクラス名が実際に変更されていることがわかりますが、私のjQuery関数は変更を認識していないようです。
以下のjsfiddle-exampleを参照してください。
これが私のHTMLマークアップです:
<div class="added">
<form class="add">
<h3>One item </h3>
<input type="submit" value="Add" />
</form>
</div>
<div class="deleted">
<form class="delete">
<h3>Second item </h3>
<input type="submit" value="Delete" />
</form>
</div>
<div id="destination">
<p>Destination for added items</p>
</div>
<div id="destination2">
<p>Destination for deleted items</p>
</div>
それに付随するjQueryコードは次のとおりです。
$(document).ready(function() {
$(".add").click(function(event){
var $form = $(this),
$inputs = $form.find("input, select, button, textarea"),
serializedData = $form.serialize();
$form.removeClass("add").addClass("delete");
$inputs.val('Delete');
$form.appendTo("#destination");
// prevent default posting of form
event.preventDefault();
});
$(".delete").click(function(event){
var $form = $(this),
$inputs = $form.find("input, select, button, textarea"),
serializedData = $form.serialize();
//var submit = $form.find(":submit").hide();
$form.removeClass("delete").addClass("add");
$inputs.val('Add');
$form.appendTo("#destination2");
// prevent default posting of form
event.preventDefault();
});
});