1

Joomla 2.5 のモジュールを開発しています。そして、私には1つの問題がありました。リロードせずに、同じページにデータを送信して回答を受け取りたいと思っていました。解決策を見つけましたが、再び立ち往生しました。

問題は、javascript を使用して div タグ コードに挿入すると、<?php echo $msg; ?>それが comment に変わること<!--php echo $msg; ?-->です。

ここにフル機能があります

<script type="text/javascript">

window.addEvent('domready', function request() {

    $('SNbutton').addEvent('click', function(event) {
        event.stop();
        var url = window.location.href;
        var message = document.getElementById('message');
        var msg = '<?php echo $msg; ?>';
        var req = new Request.HTML({
            method: 'post',
            url: url,
            data: {'artID' : $('artid').get('value')},
            onComplete: function(response) { message.set('html', msg).setStyle('display','inline');
            }
        }).send();
    });
});
</script>

ここに結果のhtmlがあります:

    <form name="accept_form" action="#" ><br/>
    <input type="hidden" id="artid" name="artID" value="4"/>
    <input type="button" class="SNbutton" id="SNbutton" value="I take it!" title="Accept this job and bound it to your profile.">
    </form>
    <div id="message" style="display:inline;" ><!--php echo $msg ?--></div>

PSこのスクリプトは記事IDを取得して同じページに送信する必要があります。記事によっては、ページが正しい場所に表示されるメッセージを生成しますが、どういうわけか壊れています。

PSS サーバーが php コードを実行することについて心配する必要はありません。私が知る限り、スクリプトが head タグに src を介して含まれている場合、それは機能しません。

4

2 に答える 2

0

この方法でやってみませんか?

var msg = <?php echo "'".$msg."'"; ?>;

引用符で囲まれているという事実がインタープリターを台無しにしているのかもしれません。

于 2012-06-22T15:46:04.787 に答える
0

ブラウザーに既に読み込まれているページに挿入された PHP コードのチャンクは、サーバーによって解釈できません。それは単なる文字列です。必要な値を取得するには、呼び出しに$msg応答してコードを取得できる別のページが必要です。Request.HTML

ここでの違いは、サーバー側のコードとクライアント側のコードです。これをテストして、あなたのurlようなものを作り、provideMessage.phpそのページにあなたのRequest.HTML.

Joomla モジュールがどのように機能するかについて、何かが欠けている可能性があります。

于 2012-06-24T03:39:39.963 に答える