Ich bin neu in Laravel und Javascript.Anruf Route von Knopf in einem <a> Tag Laravel
Ich habe eine Route, die wie
Route::get('/problems/{problem}/edit', '[email protected]');
und meine Seite sieht sieht aus wie image
HTML-Code für diese Seite
ist@foreach($in_contest->problems as $problem)
<div class="list-group">
<a href="#" class="list-group-item">
<i class="fa fa-file fa-lg"></i>
{{ $problem->title }}
<span class="pull-right">
<button onclick="callRoute()" class="btn btn-xs btn-info button">Edit</button>
</span>
</a>
</div>
@endforeach
ich Javascript-Code für dieses Onclick schrieb die ist
<script type="text/javascript">
function callRoute() {
window.location = '{{ url('/problems/' . $problem->id . '/edit') }}';
}
</script>
jetzt jedes Mal, wenn ich auf die Schaltfläche Bearbeiten auf P1, P2 oder P3 klicke, öffnet sich die Bearbeitungsseite für P4. Die gleiche URL öffnet sich für alle. Ich möchte, wenn ich auf Bearbeiten auf P1 Redirect zu bearbeiten Seite für $ Problem-ID mit P1 klicken. und das Gleiche auch für die anderen.
Was ist die Lösung dieses Problems?
Arbeitete wie Magie. @Rob Fonseca Jetzt habe ich eine andere Frage, was passiert, wenn ich das ganze Problemobjekt übergeben will. ist es auch möglich? Ich frage mich nur ... Danke trotzdem. –
Es gibt einen Weg. Ich würde einen API-Aufruf über AJAX empfehlen, um es auf eine viel sauberere Art und Weise zu tun (zu sehr involviert, um das hier zu erklären), aber der heruntergekommene Weg ist Ihrer Ansicht nach, ändern Sie {{$ problem-> id}} zu {{json_encode ($ problem)}} und dann würde Ihre CallRoute-Funktion in Funktion ändern callRoute (Daten) {var problem = JSON.parse (data); }. Sie können dann auf alle Eigenschaften des Problemobjekts wie problem.id, problem.title usw. verweisen. –