Данные из POST в эту же форму через ajax
Есть такая форма
<form>
<fieldset>
<legend>Название</legend>
<div class="input-form">
<div class="input_text">Тип товара</div>
<select class="select select_type" name="type">
<option value="admin">Админка</option>
<option value="vip">VIP</option>
<option value="unban">Разбан</option>
</select>
</div>
<?php
if(isset($_POST['type'])):
switch($_POST['type']):
case "admin":
?>
<div class="input-form">
<div class="input_text">Админ группа</div>
<input type="text" name="param">
</div>
<?php
break;
case "vip":
?>
<div class="input-form">
<div class="input_text">VIP группа</div>
<input type="text" name="param">
</div>
<?php
break;
endswitch;
endif;
?>
</fieldset>
<input type="submit" class="btn" name="save" value="Сохранить">
И есть такой js код
$('select.select_type').on('change', function() {
var type = this.value;
$.ajax({
type:'POST',
url: window.location.href,
data: 'type='+type,
success:function(result){
}
});
});
Как сделать, чтоб при выборе типа в select отображались нужные поля? Если отправлять данные через кнопку "Сохранить", то работает, а просто при выборе в select - нет
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Просто не передавайте параметр url и тогда будет происходить посыл запроса на ту же страницу
$.ajax({
type:'POST',
data: 'type='+type,
success:function(result){
}
});
Автор решения: lar1ch
→ Ссылка
Не совсем то что хотелось, но работает)
$('select.select_type').on('change', function() {
updateForm($(this).closest("form"));
});
function updateForm(myform)
{
$(myform).submit();
}