Метод отправки отправит вам только поля ввода (input
, textarea
, select
, переключатели и т. Д.).
Итак, чтобы сделать то, что вы хотите, вам нужно преобразовать элемент label
в элемент input
и заставить его вести себя как кнопка отправки.
Вы можете сделать это, выполнив:
<form class="form-signin" action="" method="post">
<div class="form-group">
<label for="exampleFormControlSelect1">Choose</label>
<select class="form-control" id="exampleFormControlSelect1" name="select">
<option value="o1">o1</option>
<option value="o2">o2</option>
<option value="o3">o3</option>
</select>
<input type="submit" id="search" name="action" value="Search" class="btn btn-lg btn-primary btn-block"/>
<input type="submit" id="save" name="action" value="Save" class="btn btn-lg btn-primary btn-block"/>
</div>
</form>
Поскольку у вас такое же имя, вы можете получить доступ к информации как response.form['action']
, которая будет или "Search"
, или "Save"
.
Решение, как вы сказали:
HTML:
<form class="form-signin" action="" method="post">
<div class="form-group">
<label for="exampleFormControlSelect1">Choose</label>
<select class="form-control" id="exampleFormControlSelect1" name="select">
<option value="o1">o1</option>
<option value="o2">o2</option>
<option value="o3">o3</option>
</select>
<input type="button" id="search" name="action" value="Search" class="btn btn-lg btn-primary btn-block"/>
<input type="button" id="save" name="action" value="Save" class="btn btn-lg btn-primary btn-block"/>
</div>
</form>
JavaScript:
$(function () {
$('[name="action"]').click(function () {
$.ajax({
url: '/',
data: $('form').serialize(),
type: 'POST',
success: function (response) {
$("where you want to insert").html(response)
}
});
});
});