A. Edit.jsx:
import Navbar from "@/Layouts/Navbar"; import { Head, Link, router } from "@inertiajs/react"; import React from "react"; import { useState } from 'react' function Edit(props) { const {id, first_name, last_name, email, errors} = props; const [values, setValues] = useState({ id : '1', first_name : '', last_name : '', email : '' }) function handleChange(e) { const key = e.target.id; const value = e.target.value setValues(values => ({ ...values, [key]: value, })) } function handleSubmit(e) { e.preventDefault() router.post("form-update/1", values) } return ( <div> <Navbar /> <form onSubmit={handleSubmit}><br/><br/> <label htmlFor="first_name">First name:</label> <input className="form-control" id="first_name" value={values.first_name} onChange={handleChange} /><br/> {errors.first_name && <small>{errors.first_name}</small>} <br/> <label htmlFor="last_name">Last name:</label> <input className="form-control" id="last_name" value={values.last_name} onChange={handleChange} /><br/> {errors.last_name && <small>{errors.last_name}</small>}<br/> <label htmlFor="email">Email:</label> <input className="form-control" id="email" value={values.email} onChange={handleChange} /><br/> {errors.email && <small>{errors.email}</small>}<br/> <buttontype="submit"className="btn btn-primary" >Update</button> </form> </div> ) } export default Edit;
B. web.php:
Route::post('/form-update/{id}', [HomeController::class, 'form_update'])->name('form-update');
B. HomeController.php:
public function form_update(Request $req, $id){ $this->validate($req, [ 'first_name' => ['required'], 'last_name' => ['required'], 'email' => ['required'], ]); DB::table('test')->where('id', $id)->update([ 'name' => $req->first_name. ' '.$req->last_name, 'email' => $req->email ]); return redirect('create'); }