У меня есть следующий код, который должен добавить поле в форму, если пользователь выбирает «Другое» из выпадающего списка. Однако использование этого кода перезаписывает значение раскрывающегося списка, поэтому при публикации формы $_POST['enquiry_source']
остается пустым.
Я сузил его до этой строки, которая вызывает у меня проблему, покупая добавление поля при любом изменении в раскрывающемся списке, а не только при выборе «Другое» -
$(field_to_append).insertAfter('#form-field-enquiry_source');
Я тоже пробовал $('#form-field-enquiry_source').after(field_to_append);
, но результат был тот же.
$(function(){
/** Looks for changes to the enquiry source dropdown */
$('#form-field-select-enquiry_source').live('change', function(){
/** Check the enquiry source */
var enquiry_source = $('select[name="enquiry_source"]').val();
/**
* Adds another field to the enquires form when the user selects 'Other' form the enquiry source dropdown
*/
if(enquiry_source === 'other'){ // The user has selected other as the enquiry source, so lock the form
var field_to_append = '<div id="form-field-enquiry_source_other" class="form-field float-left">'+
'<label>Other<span class="required"></span></label>'+
'<input name="enquiry_source" id="form-field-input-enquiry_source_other" />'+
'</div>';
$(field_to_append).insertAfter('#form-field-enquiry_source');
} else {
$('#form-field-enquiry_source_other').remove();
}
});
});
Есть идеи, что вызывает эту проблему?