0

私は CodeIgniter フォーム ヘルパーを使用しています。

Uncaught SyntaxError: Unexpected token ILLEGAL

コード:

jQuery('#window-1').append('<?= form_dropdown('hfdata', $hf_arr, set_value('hfdata'), 'class="span3"') ?>');

ご覧のとおり、私は JS 内で PHP を使用して<?= 'Test' ?>います。
そのため、CodeIgniter 関数に関連しているようです。

私が知る限り、このエラーメッセージはコード内の不明な/間違った文字によって引き起こされる可能性があり、firebug で見たものから、この CI 関数はタブと改行でテキストを生成しています...そしてそれが私が推測する私の問題です.

間違っているかもしれませんので、もしそうなら訂正してください。

この問題の解決策をいただければ幸いです。

4

3 に答える 3

1

引用符を台無しにしていて、最後のパラメータをドロップダウンに渡す方法を変更する必要がある可能性があります。

$class = 'class="span3"';



jQuery('#window-1').append('<?= form_dropdown("hfdata", $hf_arr, set_value("hfdata"), $class) ?>');
于 2012-11-06T12:44:02.240 に答える
1

PHPとJavascriptがどのように機能するかを説明するために:Phpはサーバー上で実行され、これによりhtml出力が得られます。ブラウザはその出力を取得し、それを使って何でもできます。この時点から、javascriptは彼の仕事をすることができます。

php関数呼び出しをユーザーのブラウザーにエコーします。Javascriptはphp関数を呼び出すことができません。これを実行したい場合は、必要な結果を返すphpファイル呼び出しを行う必要があります。しかし、他にも問題があると思います。(これを実行する場合は、'文字をエスケープします)

サーバー上でPHPコードを実行する必要があります。これにより結果が得られます。この結果をクライアントに送信します。クライアントPCでは、javascriptがjavascriptコードを実行します。

PHPでjavascriptコードを生成したい場合は、次のようにすることができます(サーバー上のPHPで!):

jQuery('#window-1').append('<?= form_dropdown('hfdata', $hf_arr, set_value('hfdata')); ?> '); 

これが希望どおりでない場合は、設計上の問題に取り組んでいます。それからそれは一種の行き止まりです。

于 2012-11-06T12:49:24.640 に答える
0

私は自分で答えを見つけました...私が言ったように、from_dropdown.

解決策は簡単です。改行などの不要な文字をすべて削除します。

<?php
     $prepare = preg_replace('/^\s+|\n|\r|\s+$/m', '', form_dropdown('hfdata', $hf_arr, set_value('hfdata'), 'class="span3"'));
?>
jQuery('#window-1').append('<?= $prepare ?>');
于 2012-11-06T12:57:23.587 に答える