Не получается отправить скрипту php с помощью ajax параметр select
формочка:
<form method="POST" id="form1">
<p align="left"><b>Добавляемая ссылка:</b><br>
<input type="text" name="link" id="link" size="150" class="form-control">
</p>
<p align="left"><b>Имя \ комментарий к ссылке:</b><br>
<input type="text" name="namelink" id="namelink" size="150" class="form-control" >
</p>
<p align="left"><b>Куда относится эта ссылка?</b></p>
<select class="form-control" >
<option name="type" id="type1" value="1">1 категория</option>
<option name="type" id="type1" value="2">2 категория</option>
<option name="type" id="type1" value="3">3 категория</option>
<option name="type" id="type1" value="4">4 категория</option>
</select>
<div class="alert alert-danger mt-2" id="errorBlock"></div>
<p align="left"><input type="button" value="Сохранить" id='go' class="btn btn-success mt-2 mb-4 "/></p>
</form>
Моё извращенство после неё:
<script src="/jquery.min.js"></script>
<script>
$('#go').click(function() {
var link = $('#link').val();
var namelink = $('#namelink').val();
var type = $('#type').val();
$.ajax({
url:'ajax/addlink.php',
type:'POST',
cash: false,
data: {'link' : link, 'namelink' : namelink, 'type' : type},
dataType: 'html',
success: function(data) {
if(data == 'Готово') {
$('#go').text('Сохранено');
$('#errorBlock').hide();
document.location.reload(true);
}
else {
$('#errorBlock').show();
$('#errorBlock').text(data);
}
}
});
});</script>
Смысл в том, что как бы я не пробовал изгибнуться ради того что бы передать select, я явно что-то категорически не верно делаю. Пробовал искать ответы на свою проблему в интернете, но вообще ничего не понятно из примеров приводимых. Подскажите пожалуйста, как заполучить "value" из и записать его в var type, перед тем как отправить php скрипту?
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
<select id="type" name="type" class="form-control">
^^^^^^^^^^^^^^^^^^^^^
<option value="1">1 категория</option>
<option value="2">2 категория</option>
<option value="3">3 категория</option>
<option value="4">4 категория</option>
</select>
Автор решения: Darth KYL
→ Ссылка
Вам необходимо назначить имя для <select> и по имени его выбирать. Сейчас же я вижу, что вы пытаетесь выбрать значение через атрибут id="type", которого нет в теге <select>.