У меня есть простая форма, которая содержит кнопку, чтобы открыть другую форму во всплывающем модале, форма выглядит следующим образом
![enter image description here](https://i.stack.imgur.com/Ru2r2.png)
Теперь какВы можете видеть выше кнопку ввода плюса prebids, когда пользователь нажимает кнопку плюса, он открывает модал, который содержит такую форму, как показано ниже.
СейчасЯ хочу отправить формы в следующем порядке
First submit: base form (norma way)
Second submit: form inside a pop up (via ajax)
Вот моя функция хранилища для отправки форм в контроллере страницы
public function store(Request $request)
{
$page = Page::create([
'title' => $request->get('title'),
'articles' => $request->get('articles'),
'status' => $request->get('status'),
]);
// dd($request);
$page->save();
$bidder = Bidder::create('page_id' -> $page->id);
// save bidders informtion to the database using ajax
if($request->ajax())
{
$rules = array(
'params_name.*' => 'required',
'params_value.*' => 'required',
'bidders_name.*' => 'required',
);
$error = Validator::make($request->all(), $rules);
if($error->fails())
{
return response()->json([
'error' => $error->errors()->all()
]);
}
$params_name = $request->params_name;
$params_value =$request->params_value;
$bidders_name =$request->bidders_name;
for($count = 0; $count < count($params_name); $count++)
{
$data = array(
'params_name' => $params_name[$count],
'params_value' => $params_value[$count],
'bidders_name' => $bidders_name[$count],
);
$insert_data[] = $data;
}
bidder_parameters::insert($insert_data);
return response()->json([
'success' => 'Data Added successfully.'
]);
}
return redirect("/pages")->with("sucess", "data saved");
}
А вот ajax для отправки формы внутривсплывающее окно
$("#paramsForms").on('submit', function(e) {
e.preventDefault();
$.ajax({
url: '/pages',
type: "POST",
data: $(this).serialize(),
dataType: 'json',
beforeSend:function() {
$("#save").attr('disabled', 'disabled');
},
success:function (data) {
console.log(data);
alert('Data successfull saved');
},
error:function (error) {
console.log(error)
console.log('Data not saved');
}
})
})
Теперь, когда я нажимаю "Отправить", я получаю следующую ошибку
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'title' cannot be null (SQL: insert into `pages` (`title`, `articles`, `status`, `updated_at`, `created_at`) values (?, ?, ?, 2019-11-06 11:29:31, 2019-11-06 11:29:31))"
Примечание: проверяя dd ($ request) для обеих форм в функции хранилища, я получаюследующий
+request: ParameterBag {#44
#parameters: array:4 [
"_token" => "Wgozk9jnyUnJkL35vPhso9sUr7lbMD8cSgMVuN2s"
"bidders_name" => array:1 [
0 => "Biden"
]
"params_name" => array:1 [
0 => "democratic"
]
"params_value" => array:1 [
0 => "10"
]
]
}
Примечание. Проблема в том, что когда я нажимаю кнопку «Отправить» в модальном режиме, сначала он пытается отправить базовую форму
Что мне нужно изменить, чтобы получить то, что я хочу?