2017-08-10 7 views
1

私は、作業中のビューファイルに2つのセクションがあり、サイドバーとコンテンツセクションです。どちらのセクションにもフォームを介して送信したいデータが含まれているという混乱する問題が発生しました。Laravel - ブレードビューの1つのセクションからのみデータを送信するフォーム

何らかの理由で、ビューではコンテンツセクション全体でフォームがレンダリングされ、サイドバーセクションからすべてのデータが除外されます。もともとは、コンテンツセクションの一番上にあるフォームを開いて、サイドバーセクションの最後に閉じていると思っていました。残念ながらそれは事実ではなく、私は迷っています。

フォームを拡張して両方のセクションにデータを含めることができる方法があるのだろうかと思っていましたか?どのようにこの問題を解決するための任意の提案は非常に感謝される!

@extends('main') 

@section('title', 'Sign Up') 

@section('content') 
    {!! Form::open(['route' => 'signup.store', 'method' => 'post']) !!} 
    <div class="panel-header"><span>{{ $visitor->username }}'s Profile</span></div> 
    <div class="secondary-panel" align="center"><strong>Player Information</strong></div> 
    <div class="xbs-border"></div> 
    <div class="row_1g"> 
    <div class="body-content"> 
     <div class="col-md-6"> 
     <div class="form-group"> 
      {{ Form::label('first', 'First Name') }} 
      {{ Form::text('first', $player->first, array('class' => 'form-control', 'placeholder' => 'First Name')) }} 
     </div> 
     </div> 
     <div class="col-md-6"> 
     <div class="form-group"> 
      {{ Form::label('last', 'Last Name') }} 
      {{ Form::text('last', $player->last, array('class' => 'form-control', 'placeholder' => 'Last Name')) }} 
     </div> 
     </div> 
     <div class="col-md-6"> 
     <div class="form-group"> 
      {{ Form::label('number', 'Number') }} 
      {{ Form::selectRange('number', 0, 99, $player->num, array('class' => 'form-control')) }} 
     </div> 
     </div> 
     <div class="col-md-6"> 
     <div class="form-group"> 
      {{ Form::label('birthday', 'Birthday') }} 
      {{ Form::date('birthday', $player->birthday, array('class' => 'form-control')) }} 
     </div> 
     </div> 
     <div class="col-md-6"> 
     <div class="form-group"> 
      {{ Form::label('city', 'City') }} 
      {{ Form::text('city', $player->city, array('class' => 'form-control', 'placeholder' => 'City')) }} 
     </div> 
     </div> 
     <div class="col-md-6"> 
     <div class="form-group"> 
      {{ Form::label('state_province', 'State/Province') }} 
      {{ Form::select('state_province',['United States' => ['' => 'State/Province', 'AL'=>'Alabama','AK'=>'Alaska','AZ'=>'Arizona','AR'=>'Arkansas','CA'=>'California','CO'=>'Colorado','CT'=>'Connecticut','DE'=>'Delaware','DC'=>'District of Columbia','FL'=>'Florida','GA'=>'Georgia','HI'=>'Hawaii','ID'=>'Idaho','IL'=>'Illinois','IN'=>'Indiana','IA'=>'Iowa','KS'=>'Kansas','KY'=>'Kentucky','LA'=>'Louisiana','ME'=>'Maine','MD'=>'Maryland','MA'=>'Massachusetts','MI'=>'Michigan','MN'=>'Minnesota','MS'=>'Mississippi','MO'=>'Missouri','MT'=>'Montana','NE'=>'Nebraska','NV'=>'Nevada','NH'=>'New Hampshire','NJ'=>'New Jersey','NM'=>'New Mexico','NY'=>'New York','NC'=>'North Carolina','ND'=>'North Dakota','OH'=>'Ohio','OK'=>'Oklahoma','OR'=>'Oregon','PA'=>'Pennsylvania','RI'=>'Rhode Island','SC'=>'South Carolina','SD'=>'South Dakota','TN'=>'Tennessee','TX'=>'Texas','UT'=>'Utah','VT'=>'Vermont','VA'=>'Virginia','WA'=>'Washington','WV'=>'West Virginia','WI'=>'Wisconsin','WY'=>'Wyoming',], 'Canada' => ['AB' => 'Alberta', 'BC' => 'British Columbia', 'MB' => 'Manitoba', 'NB' => 'New Brunswick', 'NL' => 'Newfoundland', 'NS' => 'Nova Scotia', 'NT' => 'Northwest Territories', 'NU' => 'Nunavut', 'ON' => 'Ontario', 'PE' => 'Prince Edward Island', 'QC' => 'Quebec', 'SK' => 'Saskatchewan', 'YT' => 'Yukon']], $player->state_province, array('class' => 'form-control')) }} 
     </div> 
     </div> 
    </div> 
    <div class="row_1f" style="text-align:center;border-top:1px solid #ddd;"> 
     <div class="body-content"> 
     <strong>Player name falls under the site terms and conditions.</strong> 
     </div> 
    </div> 
    </div> 

    <div class="panel-header"><span>Additional Information</span></div> 
    <div class="secondary-panel" align="center"><strong>Player Availability</strong></div> 
    <div class="xbs-border"></div> 
    <div class="row_1g"> 
    <div class="body-content"> 
     <div class="col-md-6"> 
     <div class="form-group"> 
      {{ Form::label('time', 'Preferred Time (EST)') }} 
      {{ Form::select('time', ['9' => '9:00 PM', '10' => '10:00 PM', '11' => '11:00 PM'], $player->time, array('class' => 'form-control')) }} 
     </div> 
     </div> 
     <div class="col-md-6"> 
     <div class="form-group"> 
      {{ Form::label('commitment', 'League Commitment') }} 
      {{ Form::select('commitment', ['0' => 'Part-Time', '1' => 'Full-Time',], $player->commitment, array('class' => 'form-control')) }} 
     </div> 
     </div> 
     <div class="col-md-12"> 
     <div class="form-group"> 
      {{ Form::label('available_extra', 'Availability Extra') }} 
      {{ Form::textarea('available_extra', $player->available_extra, array('class' => 'form-control', 'placeholder' => 'Any additional information that you would like to add.')) }} 
     </div> 
     </div> 
    </div> 
    </div> 
    <div class="row_1g"> 
    <div class="body-content"> 
     <div class="form-group" align="center"> 
     {!! Form::hidden('player_id', $visitor->user_id) !!} 
     {{ Form::submit('Submit Registration', array('class' => 'btn xbs-button')) }} 
     </div> 
    </div> 
    </div> 
    <div class="row_1f" style="border-top:1px solid #ddd;"> 
    <div class="body-content"> 
     <ul style="margin-bottom:0;"> 
     <li><strong>Part-Time Player</strong> - At least two games per week.</li> 
     <li><strong>Full-Time Player</strong> - Anything over two games games per week.</li> 
     </ul> 
    </div> 
    </div> 
@endsection 

@section('sidebar') 
    <div class="panel-header"><span>Position Preferences</span></div> 
    <div class="secondary-panel" align="center"><strong>Position Breakdown</strong></div> 
    <div class="xbs-border"></div> 
    <div class="col-md-12 no-padding"> 
    <div class="row_1g"> 
     <div class="body-content"> 
     <div class="col-xs-12"> 
      <div class="form-group"> 
      {{ Form::label('pos_c', 'Center') }} 
      {{ Form::select('pos_c', ['0' => 'Never', '1' => 'Rarely', '2' => 'Occasional', '3' => 'Preferred'], null, array('class' => 'form-control')) }} 
      </div> 
      <div class="form-group"> 
      {{ Form::label('pos_lw', 'Left Wing') }} 
      {{ Form::select('pos_lw', ['0' => 'Never', '1' => 'Rarely', '2' => 'Occasional', '3' => 'Preferred'], null, array('class' => 'form-control')) }} 
      </div> 
      <div class="form-group"> 
      {{ Form::label('pos_rw', 'Right Wing') }} 
      {{ Form::select('pos_rw', ['0' => 'Never', '1' => 'Rarely', '2' => 'Occasional', '3' => 'Preferred'], null, array('class' => 'form-control')) }} 
      </div> 
      <div class="form-group"> 
      {{ Form::label('pos_ld', 'Left Defense') }} 
      {{ Form::select('pos_ld', ['0' => 'Never', '1' => 'Rarely', '2' => 'Occasional', '3' => 'Preferred'], null, array('class' => 'form-control')) }} 
      </div> 
      <div class="form-group"> 
      {{ Form::label('pos_rd', 'Right Defense') }} 
      {{ Form::select('pos_rd', ['0' => 'Never', '1' => 'Rarely', '2' => 'Occasional', '3' => 'Preferred'], null, array('class' => 'form-control')) }} 
      </div> 
      <div class="form-group"> 
      {{ Form::label('pos_g', 'Goalie') }} 
      {{ Form::select('pos_g', ['0' => 'Never', '1' => 'Rarely', '2' => 'Occasional', '3' => 'Preferred'], null, array('class' => 'form-control')) }} 
      </div> 
     </div> 
     </div> 
    </div> 
    <div class="row_1f" style="border-top:1px solid #ddd;"> 
     <div class="body-content"> 
     <ul style="margin-bottom:0;"> 
      <li><strong>Never</strong> - 0 games per season.</li> 
      <li><strong>Rarely</strong> - up to 10 games per season.</li> 
      <li><strong>Occasional</strong> - 10 to 20 games per season.</li> 
      <li><strong>Preferred</strong> - Any amount of games.</li> 
     </ul> 
     </div> 
    </div> 
    </div> 
    {!! Form::close() !!} 
@endsection 

Main.blade.php

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    @include('partials._header') 
    @yield('stylesheets') 
</head> 

<body> 

    @include('partials._navigation') 

    <div class="container"> 
    <div class="col-md-12" style="padding:0;margin-top:20px;"> 
     @include('partials._messages') 
    </div> 
    <div class="col-md-4" style="padding-left:0;"> 
     @yield('sidebar') 
    </div> 
    <div class="col-md-8" style="padding-right:0;"> 
     @yield('content') 
    </div> 
    </div> 

    @include('partials._footer') 

    @include('partials._javascript') 

    @yield('scripts') 

+0

「main.blade.php」はどのように見えますか? '

'タグが別の親に正しく入れ子にされてしまうように、他のHTML要素内のセクションを '@ yield 'している可能性が最も高いです。 – fubar

+0

@fubarそれは良い点です。 main.blade.phpファイルを元の投稿に追加しました。とにかくそれを同様の方法で整理することはできますか?それでもフォームに両方のセクションを取り入れますか? – BTW8892

答えて

0

だから、問題はあなたのmain.blade.phpファイルです。

このマークアップを使用すると、開いているか閉じているフォーム要素が同じ親を共有しないため、ブラウザでフォームを修正しようとします。

<div class="col-md-4" style="padding-left:0;"> 
    @yield('sidebar') 
</div> 
<div class="col-md-8" style="padding-right:0;"> 
    @yield('content') 
</div> 

これが最も可能性の高いコンテンツのセクションとサイドバーのセクションのno形式で形になるでしょう。例:

<div class="col-md-4" style="padding-left:0;"> 
    <form> 
     ... 
    </form> 
</div> 
<div class="col-md-8" style="padding-right:0;"> 
    ... 
</div> 

フォーム要素で列を折り返すか、列divをセクションに移動する必要があります。

@section('content') 
    {!! Form::open(['route' => 'signup.store', 'method' => 'post']) !!} 
     <div class="col-md-8" style="padding-right:0;"> 
      ... 
     </div> 
@endsection 

@section('sidebar') 
     <div class="col-md-4" style="padding-left:0;"> 
      ... 
     </div> 
    {!! Form::close() !!} 
@endsection 
+0

それはトリックをした、ありがとう!感謝します。 – BTW8892

関連する問題