Ich bin etwas verwirrt, weil ich nicht sicher bin, ob ich Modelle dafür brauche, da ich nichts in eine Datenbank posten werde. Ich habe eine einfache IndexseiteDelivering Inhalt basierend auf wählt
Route::get('/', '[email protected]');
Nichts besonderes hier. Aber auf dieser Indexseite habe ich vier Tafeln, die die folgende Form
<a href="#" data-toggle="modal" data-target="#reportOneModal">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Report One</h3>
</div>
<div class="panel-body"><img src="{{ URL::to('/') }}/images/image1.png"></div>
</div>
</a>
Wenn eine der Platten angeklickt wird, es eine modale mit einigen Auswahleingänge bringt. Dies dient zum Herausfiltern des Berichts, den ich anzeigen muss. Jedes Panel hat verschiedene Optionen für die Auswahleingänge.
Was ich im Wesentlichen tun muss, ist die ausgewählten Eingänge in meinen Controller zu posten, damit ich herausfinden kann, welches Bild angezeigt werden soll. Ein modal sieht wie folgt aus
<div class="modal fade" id="reportOneModal" role="dialog" aria-labelledby="reportOneModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
{!! Form::open(array('route' => array('report'))) !!}
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-group">
{!! Form::label('productType', 'Report Type', array('class' => 'col-sm-5 control-label blue')) !!}
<div class="col-sm-7">
<select class="selectpicker" name="reportType" id="reportType">
<option value=""></option>
<option value="Value">Value</option>
<option value="Value">Salary</option>
</select>
</div>
</div>
</div>
</div>
<div class="row" id="yearRow">
<div class="col-md-12">
<div class="form-group">
{!! Form::label('reportYear', 'Year', array('class' => 'col-sm-5 control-label blue')) !!}
<div class="col-sm-7">
<select class="selectpicker" name="reportYear" id="reportYear">
<option value=""></option>
<option value="2016">2015</option>
<option value="2016">2016</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
{!! Form::submit('View Report', ['class' => 'btn btn-primary loadBtn']) !!}
</div>
{!! Form::close() !!}
</div>
</div>
</div>
</div>
So können Sie sehen, dass das Formular für die modale zu berichten entsendet, ich werde für jede Platte eine andere Funktion aufrufen. Diese Route sieht wie folgt aus
Route::post('report', array('as' => 'report', 'uses' => '[email protected]'));
Und die Controller-Funktion ist als
public function getReport()
{
$reportType = Input::get('reportType');
$reportYear = Input::get('reportYear');
$filePath = 'report-images/' . $reportType . '/' . $reportYear . '/';
$image = $reportType . '_' . $reportYear;
$fullPath = $filePath . $image . '.png';
if(!empty($fullPath)) {
return view('report.report', compact('fullPath'));
}
}
folgt
Das Problem Ich habe auf einen Bericht verweist ich anzuzeigen versuche. Ich kann das Bild gut darstellen, aber es gibt viele verschiedene Varianten zu diesem Bild. So auf dieser Berichte anzeigen I
<select class="selectpicker" name="bmId" id="bmId">
<option value="variant1">variant1</option>
<option value="variant2">variant2</option>
<option value="variant3">variant3</option>
</select>
hinzugefügt Wenn eine dieser Varianten ausgewählt werden, muss ich irgendwie die Strecke report.getReport2 erinnern. Ich nehme an, ich könnte dies tun, mit Ajax, im Moment versuche ich,
$("#bmId").change(function() {
$.ajax({ url: "test.html", context: document.body, success: function(){
$(this).addClass("done");
}});
});
Das Problem ist, ich will nicht, eine URL nennen, möchte ich die Strecke nennen und es diese neue Variante Wert übergeben.
Wie würde ich etwas so machen?
Dank
Wenn ich in dem Auswahländerungsereignis setzen, dass ich scheine dieses Fehler \t POST http zu bekommen: // localhost: 8000/report /% 7B% 7BURL :: bis ('/')% 7D% 7D/report \t 404 nicht gefunden –
do 'var myurl =" {{URL :: to ('/')}} ";' außerhalb der Ajax - Anfrage, dann innerhalb der Ajax - Anfrage 'url: myurl +'/report ', ' – theMohammedA