2017-11-07 5 views
1

Ich bin ein Neuling auf einem Bildschirm, der eine bedingte Schaltfläche hat, die nur angezeigt werden sollte, wenn $ step == 2. In diesem Fall wird die Schaltfläche angezeigt und beim Klicken auf eine andere Seite in meinem Projekt weitergeleitet. Die URL, zu der sie mich umleiten sollte, ist jedoch nicht festgelegt, sondern enthält einen Parameter. Ich habe Probleme, den Onclick zur Arbeit zu bekommen!Übergabe der PHP-Variable an die Schaltfläche Onclick-Funktion

Ich habe versucht, eine $ path-Variable zu definieren, in der ich die Umzugszeichenfolge speichern. Ich tue dies auf folgende Weise:

<?php $path = '"window.location=\'{{ url("/location/'.$location->id.'/description") }}\'"'?> 

Wenn ich diesen $ path Echo, ich bekomme genau die Zeichenfolge ich brauche, das ist:

"window.location='{{ url("/location/2/description") }}'" 

(Hinweis: Die $ orts-> id in mein Testfall ist 2)

Allerdings versuche ich dann diesen $ Pfad für den onclick des Knopfes und es funktioniert nicht! Hier ist die ganze Sache:

<?php if ($step == 2) : ?> 
    <?php $path = '"window.location=\'{{ url("/location/'.$location->id.'/description") }}\'"'?> 
    <button class="button_s_red" onclick=<?php echo $path; ?>>{{ trans('setup_process.STEP2_Button') }}</button> 
<?php endif; ?> 

Wenn ich diesen Knopf in Chrom inspizieren, so scheint es, dass auf dem Onclick, das/Zeichen, das nicht durch immer ist. Aber das ist merkwürdig, da, wenn ich den $ Pfad zurückgebe, bekomme ich diesen Charakter, und/scheint nicht ein Escape-Charakter von dem zu sein, was ich gegoogelt habe.

Ich habe so ziemlich alles ausprobiert und jede mögliche Hilfe gegoogelt, aber es scheint nicht zu funktionieren! Vielen Dank im Voraus für Ihre Hilfe!

+1

rechts ab, ist mein Rat mischen PHP und Javascript, um die Art und Weise _nicht_ die du bist. keinen Grund gibt es die Schaltfläche in einer PHP-Anwendung tun, um eine _javascript_ Fenster Last zu machen. Zweitens die 'verwenden Onclick _nicht_ ist 'attribute, but _bind to events_. Zuletzt - das riecht ein wenig nach Angular - wenn es sich um eine Angular App handelt, könnte ich vorschlagen, eine Angular-Frage zu stellen, anstatt es zu versuchen PHP in den Mix zu jammen? –

+0

Keine Notwendigkeit, PHP zu verwenden, um in diesem Fall das JavaScript zu schreiben. Verwenden Sie einfach ' id}/description "); sterben; ?> 'stattdessen. Wirklich, du willst wahrscheinlich AJAX lernen. Du wirst sehen. – PHPglue

Antwort

0
id. '/ Description ")}} \' " '?>> {{ trans (' setup_process.STEP2_Button ')}}

denke ich, u in Ihrem Code verwenden" muss .

<?php if ($step == 2) : ?> 
    <?php $path = '"window.location=\'{{ url("/location/'.$location->id.'/description") }}\'"'?> 
    <button class="button_s_red" onclick=("<?php echo $path; ?>")>{{ trans('setup_process.STEP2_Button') }}</button> 
<?php endif; ?> 
Verwandte Themen