внутри метода jquery (по событию нажатия кнопки) у меня есть следующий код:
$(selector).html("<form action='/Tracker/CopyFood' method='post'><input type='hidden' name='Id' value=" + id + "><input class='very-small-input' type='text' name='Quantity' value='1' /> for <select name='Date'><option value='Today'>Today</option><option value='Yesterday'>Yesterday</option></select><select name='Meal'><option value='Breakfast'>Breakfast</option><option value='Lunch'>Lunch</option><option value='Dinner'>Dinner</option><option value='Evening Snack'>Evening Snack</option></select><input type='button' class='submitCopyFood' value='Add'> or <div style='display:inline' class='CancelCopy'>Cancel</div></form> ");
кажется, что оно работает на экране, но при нажатии кнопки «submitCopyFood» событие было запущено, но оно не отправляло форму. Когда я нажимаю «Просмотреть источник выбора» в Firefox, я вижу проблему. Все, что я вижу, это:
<input name="Id" value="128" type="hidden"><input class="very-small-input" name="Quantity" value="1" type="text"> for <select name="Date"><option value="Today">Today</option><option value="Yesterday">Yesterday</option></select><select name="Meal"><option value="Breakfast">Breakfast</option><option value="Lunch">Lunch</option><option value="Dinner">Dinner</option><option value="Evening Snack">Evening Snack</option></select><input class="submitCopyFood" value="Add" type="button"> or <div style="display: inline;" class="CancelCopy">Cancel</div>
Как будто я нигде не добавил форму. Есть ли причина, по которой я не вижу:
<form action='/Tracker/CopyFood' method='post'>
или
</form>
в исходном коде внутри выбранного источника. Есть что-то особенное, что мне нужно сделать здесь?
Обновлен:
вот событие нажатия кнопки. Чтобы быть понятным, это событие срабатывает нормально, но эта строка терпит неудачу ниже:
var myForm = parentDiv.children('form');
потому что myForm пуст (так как нет элемента формы)
Вот полное событие клика:
$(document).ready(function() {
$('.submitCopyFood').live('click', function() {
debugger;
var parentDiv = $(this).parent('.copyFoodInstance');
var myForm = parentDiv.children('form');
$.post(myForm.attr('action'), myForm.serialize(), function(data) {
debugger;
parentDiv.attr("fromInner", "1");
parentDiv.attr("myset", "0");
parentDiv.html("<img BORDER=0 src='../../images/copy1.png' />");
});
});
});