【问题标题】:Values from dropdown list not passed to controller in Laravel php下拉列表中的值未传递给 Laravel php 中的控制器
【发布时间】:2014-05-24 02:28:41
【问题描述】:

我的视图(“注册”页面)包含一堆输入字段和一个下拉列表。由于某种原因,所有输入字段数据都毫无问题地传递给控制器​​,但下拉列表中的值没有传递。这使我的代码失败 - 返回以下错误:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'carehome_type' cannot be null (SQL: insert into `users` (`email`, `password`, `code`, `active`, `carehome_name`, `carehome_type`, `updated_at`, `created_at`) values (myemail@gmail.com, yzmBHUNQTNbE6nGA90Adq1w4BTGXWYyV8mvwNVUoGx4KrMQiAlSSseZ4DkuyitCZNUa5N59nUiOy.iCKie8w3LD0SHs52YCBUp9lt6JbRA0Z6wuqi, 0, ergerg, , 2014-04-10 11:25:42, 2014-04-10 11:25:42, ?))

这里是代码:

@extends('layout.main')


@section('content')

<form action="{{URL::route('account-create-post')}}" method="post">

    <div class='field'>
        Email:              <input type='text' name='email'{{ (Input::old('email')) ?  'value="' . e(Input::old('email')) . '"'  :  ''}}>

        @if($errors->has('email'))
            {{$errors->first('email') }}
        @endif

    </div>

    <div class='field'>
        Username:           <input type='text' name='username'{{ (Input::old('username')) ?  'value="' . e(Input::old('username')) . '"'  :  ''}}>
        @if($errors->has('username'))
            {{$errors->first('username') }}
        @endif
    </div>

    <div class='field'>
        Password:           <input type='password' name='password'>
        @if($errors->has('password'))
            {{ $errors->first('password') }}
        @endif  

    </div>

    <div class='field'>
        Password (again):   <input type='password' name='password_again'>
        @if($errors->has('password_again'))
            {{ $errors->first('password_again') }}
        @endif
    </div>


    <div>
        Carehome type:
        <select >
            <option value="Independent" name='carehome_type'>Independent</option>
            <option value="">-------------</option>
            <option value="Chain#_1" name='carehome_type'>Chain#_1</option>
            <option value="Chain#_2" name='carehome_type'>Chain#_2</option>
            <option value="Chain#_3" name='carehome_type'>Chain#_3</option>
            <option value="Chain#_4" name='carehome_type'>Chain#_4</option>
            <option value="Chain#_5" name='carehome_type'>Chain#_5</option>
        </select> 
    </div>

    <div class='field'>
        Carehome name:  <input type='text' name='carehome_name'>
        @if($errors->has('carehome_name'))
            {{ $errors->first('carehome_name') }}
        @endif
    </div>





<br>



                            <input type='submit' value='Create account'>
    {{ Form::token() }}
</form>
@stop

【问题讨论】:

    标签: php mysql laravel-4 blade


    【解决方案1】:

    您的 Carehome 类型选择框没有名称,因此它的数据不会被传递。它的选项确实有一个名称,但该名称参数并不打算在那里。

    所以不要这样:

    Carehome type:
        <select >
            <option value="Independent" name='carehome_type'>Independent</option>
            <option value="">-------------</option>
            <option value="Chain#_1" name='carehome_type'>Chain#_1</option>
            <option value="Chain#_2" name='carehome_type'>Chain#_2</option>
            <option value="Chain#_3" name='carehome_type'>Chain#_3</option>
            <option value="Chain#_4" name='carehome_type'>Chain#_4</option>
            <option value="Chain#_5" name='carehome_type'>Chain#_5</option>
        </select> 
    

    使用这个:

    Carehome type:
        <select name="carehome_type">
            <option value="Independent">Independent</option>
            <option value="">-------------</option>
            <option value="Chain#_1">Chain#_1</option>
            <option value="Chain#_2">Chain#_2</option>
            <option value="Chain#_3">Chain#_3</option>
            <option value="Chain#_4">Chain#_4</option>
            <option value="Chain#_5">Chain#_5</option>
        </select> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多