如何在不提交表单的情况下获取其价值?

时间:2018-11-23 07:36:49

标签: php ajax laravel

我有这个表格,根据eventDate,我需要$ availableVehicles的数据。我想将此eventDate的值传递给控制器​​。这样我就可以在表单中获取$ availableVehicles的值。请建议我正确的方法来获取数据。我不需要查询。我有查询,我只想在其中传递变量eventDate。我从@create获取值表单值,并且表单将在@store提交。我想在创建时发送eventDate的值,并从查询@create中获取数据后以表单的形式将其提交给@store。

{!!Form::open(['action' => 'BookingsController@store', 'method' => 'POST'])!!}
    @csrf
    <input type="date" name="eventDate" id="eventDate" value="">
    <select name="vehicleName" id="vehicleName">
        <option disabled selected>Choose Vehicle...</option>
        <?php foreach ($availableVehicles as $key => $vehicle): ?>
            <option id="{{$vehicle->id}}">{{$vehicle->name}} </option>
        <?php endforeach; ?>
    </select>
{!!Form::close()!!}

2 个答案:

答案 0 :(得分:1)

在您的bookingController中创建以下方法:

public function store(Request $request){
$event_date = $request->input('eventDate');
}

然后,您可以使用$ event_date变量执行所需的任何操作。有关更多信息,请参见documentation

答案 1 :(得分:1)

在控制器中,您可以获得类似@Nabil向您建议的值,但是我没有在select标签的选项中看到id,这是真的

   <option id="{{$vehicle->id}}">{{$vehicle->name}} </option>

应该是这样才能获得价值

    <option value="{{$vehicle->id}}">{{$vehicle->name}} </option>

此外,您还可以从数据库表中获取与日期相关的值

  public function store(Request $request)
{
    $vehicles = new vehicle; //vehicle is a model name
    $this->validate($request,[
        'vehiclename'=>'required',
        'eventDate'=>'required'
    ]);
    $vehicles->vehiclename = $request->vehicleName;
    $vehicles->eventdate= $request->eventDate;
    $vehicles->save();
    return redirect("/");
}

where()条件中的事件日期应与数据库中的相同

在您的create方法中,您可以执行此操作以从数据库中获取所有值并分配给您的主视图页面

   public function create()
 {
    $vehicles = \DB::table('DatabaseTableName')->all();
                OR
    $vehicles = modelname::all();
    return view("home",compact('vehicles'));
 }

然后在主页上执行{{$vehicles->name}}modelname表示如果您不创建模型,则必须为数据库表创建模型,然后使用带有表名的第一个选项