#javascript #php #ajax #laravel
Вопрос:
Я использую Ajax в Laravel для хранения данных, ниже приведена форма, которую я использую для хранения данных, в ней есть ввод, а также выбранная опция
<form class="forms" method="get" action="">
{{ csrf_field() }}
<div class="form-group row">
<label for="exampleInputUsername2" class="col-sm-2 col-form-label">Estate Name</label>
<div class="col-sm-4">
<input type="text" class="form-control Estate_name" name="Estate_name" id="exampleInputUsername2" placeholder="Enter Estate Name" >
</div>
<label for="exampleInputEmail2" class="col-sm-1 col-form-label">Landlord</label>
<div class="col-sm-4">
<input type="text" class="form-control Landlord" name="Landlord" id="exampleInputEmail2" autocomplete="off" placeholder="Enter Landlord" >
</div>
</div>
<div class="form-group row">
<label for="exampleInputEmail2" class="col-sm-2 col-form-label">District</label>
<div class="col-sm-4">
<select class="js-example-basic-single w-200 District_id" name="District_id">
@foreach ($District as $districts)
<option value="{{$districts -> id}}">{{$districts -> DISTRICT}}</option>
@endforeach
</select>
</div>
</div>
</form>
Ниже приведен сценарий для вставки данных, но я не знаю, как лучше всего написать код, в котором хранится выбранный параметр. мне нужна помощь в этом!, опция выбора должна вставить «District_id» в базу данных.
<script>
$(document).ready(function (){
$(document).on('click', '.add_estate', function(e){
e.preventDefault();
//console.log("Hello")
var data = {
'Estate_name': $('.Estate_name').val(),
'Landlord': $('.Landlord').val(),
'District_id': $('.District_id').val(),//this is where i fail to insert
}
//console.log(data);
//Call Ajax Methoad
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
url:"/register/estate",
data: data,
dataType: "json",
sucess: function (response) {
console.log(response);
}
});
});
});
</script>
Комментарии:
1. потому
$('District_id')
что ищет<District_id>
элемент2. @epascarello и как мне это хорошо написать?
3. Ну а как вы написали другие, которые работают? 🙂 Вы буквально сделали это два раза прямо над ним.
4. Смотрите, чем ввод отличается от выбора
5. Ну, я думаю, что в вашем варианте нет никакой ценности
Ответ №1:
Во-вторых, вы можете запустить событие формы с помощью события отправки, а затем сериализовать информацию, чтобы ваш ajax-запрос выглядел следующим образом
$(".forms").submit(function(e) {
e.preventDefault();
var form = $(this);
var url = form.attr('action'); //you can paste your URL directly if you want /register/estate
$.ajax({
type: "POST",
url: url,
data: form.serialize(), // serializes the form's elements.
success: function(data)
{
console.log(data);
}
});
});
Комментарии:
1. можете ли вы завершить его, как я вижу?