У меня есть несколько форм на моей странице, которые используют одну и ту же функцию для их обработки.Все работало просто замечательно, пока я не захотел добавить форму переключателя для включения / отключения записи в базе данных.
Я настроил страницу так, чтобы рядом с элементом была скрытая форма.Пользователь щелкает элемент div, и мой скрипт захватывает html элемента и помещает его в переменную, показывает форму, выводит html (var) в текстовую область и скрывает элемент.Внесите некоторые изменения, нажмите «Отправить», форма отправляет, скрывает и повторно показывает элемент с новым HTML (стиль Facebook).Нет проблем.
Когда я пишу код для захвата переключателя, который «проверен», он работает нормально.Но если я переключаюсь на другую кнопку-переключатель, форма не захватывает новое значение.Что случилось?
if (field == "disabled") {
var txt = $('#disabled input[name="product_disabled"]:radio').val();
} else {
var txt = $(this).html();
};
Это захватывает значение, без проблем ...
Но, в моем обработчике форм, это просто берет вышеуказанную информацию, а не новую информацию из формы.
var newtxt = $('#disabled input[name="product_disabled"]:radio').val();
Очень странно ...
Вот полный jQuery
//Begin editing section - click handler on text shows the form//
$('[class^=edit_]').click(function(){
var element = $(this).attr('class');
var field = element.split('_')[1];
if (field == "disabled") {
var txt = approval;
} else {
var txt = $(this).html();
};
//var txt = $(this).html();
//$('[class='+element+']').hide();
$(this).hide();
$('[id='+field+']').show();
$('[class=product_'+field+']').val(txt);
$('[class=product_'+field+']').focus();
});
//Process the edit forms//
$('form').submit(function(e){
e.preventDefault();
alert($(this).html());
var element = $(this).attr('id');
var newtxt = $(this + "input[name='product_disabled']:radio").val(); //$('[class=product_'+element+']').val();
var product = pid;
var productImage = imageUrl;
var rb = $('#disabled input[name="product_disabled"]:radio').val();
$.getJSON("cfc/editProduct.cfc?method=updateText&returnformat=json",
{column:element, id:product, updateText:newtxt, image:productImage },
function(response) {
//Handle the result
if(response.MESSAGE == "success") {
$('form').hide();
$('[class=edit_'+element+']').show();
$('[class=edit_'+element+']').html(newtxt);
} else {
alert(response.MESSAGE);
}
});
});
//End editing section//