2017-11-07 8 views
1

私は、$ step == 2の場合にのみ表示される条件付きボタンを持つ画面で作業する初心者です。この場合、ボタンが表示され、クリックすると、プロジェクト内の別のページにリダイレクトされます。しかし、私のリダイレクト先URLは固定ではなく、その中にパラメータがあります。私は仕事にonclickを得るのに苦労している!php変数をボタンonclick関数に渡す

私は再配置文字列を格納する$ path変数を定義しようとしました。私は、次の方法でこれを実行します。

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

(注:$、場所に> IDで、私はこの$パスをエコーすると

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

、私は私が必要とする正確に文字列を取得します私のテストケースは2)

しかし、私はこの$パスをボタンのonclickに使ってみるとうまくいかない!ここでは全体のことである:私はクロームで、このボタンを検査する場合

<?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; ?> 

、onclickの上、/文字が通じ得ていないようです。しかし、これは奇妙です。なぜなら、$パスをエコーすると、私はこの文字を取得し、/私がグーグルで行ったことからエスケープ文字ではないように見えます。

私はほとんどすべてを試してみましたが、すべての可能なヘルプを検索しましたが、うまくいかないようです。あなたの助けを前もってありがとう!

+1

右オフ、私のアドバイスは、PHP、あなたがしているJavaScriptの道を混ぜる_not_することです。PHPのアプリでボタンを作るする理由はありません_javascript_ウィンドウのロードを行う。第二には、 'onclickのを使用_not_することです'アトリビュートではなくevent_にバインドする_最後に、これはAngularのような臭いです。これがAngularアプリの場合は、Angular質問をPHPを混乱させるには? –

+0

この場合、JavaScriptを書くためにPHPを使用する必要はありません。単に '<?php header(" LOCATION:location/{$ location-> id}/description ")を使用してください。死ぬ; ?> '代わりに。本当に、あなたはおそらくAJAXを学びたいと思っています。わかるでしょ。 – PHPglue

答えて

0
ID。 '/説明 ")}} \' " '?>> {{ トランス(' setup_process.STEP2_Button ')}}

私はuは、このようにあなたのコード内で" 使用しなければならないと思います。

<?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; ?> 
関連する問題