1

これに対する明確な答えはまったく見つかりませんでした。1時間か2時間探していました。

SQL 呼び出しを実行してページを構築する PHP ページがあります。ページの追加イベントをトリガーする onClick JavaScript 関数を含むアイテムのリストがあります。とりわけ、HTML ページに追加の PHP コードを追加するには、onClick 関数が必要です。インクルードを介してPHPファイルに追加することを望んでいましたが、このJS関数を使用すると利用できないようです。

そして、アイデアは最も役に立ちます。コード参照または既存のチュートリアルを使用して回答をサポートできる場合、それは素晴らしいことです。

4

4 に答える 4

4

JavaScript はクライアントのブラウザーで実行されるコードであり、PHP はサーバーで実行されるコードです。JavaScript から PHP を出力しようとしてもうまくいきません

JavaScript を介して PHP コードをトリガーしたい場合は、サーバー上の PHP ファイルに対してXML Http リクエストを行うことができます。

于 2012-06-27T20:25:36.243 に答える
3

JQuery+Ajax を使用して外部ファイルをロードし、要素を追加するだけです。次に例を示します。

// when the page loads
$(document).ready(function () {
    $.ajax({
      url: "test.html",
      cache: false
    }).done(function( html ) {
      $("#results").append(html);
    });
});

また

// when the an element is clicked
$(document).ready(function () {
  $.fn.appendElement = function (){
    $.ajax({
      url: "test.html",
      cache: false
    }).done(function( html ) {
      $("#results").append(html);
    });
  }
});

$('#buttonId').click(function(){ $(this).appendElement(); });

HTH

于 2012-06-27T20:28:17.430 に答える
1

AJAX を使用します。jQuery を使用すると、次のことができます。

$.get('test.php', function(data) {
  $("#MyDiv").html(data);
});

これにより、「test.php」で生成されたコンテンツが 内に挿入され<div id="MyDiv">ます。

Ok。jQueryは必要ありません...プレーンなjavascriptを使用した上記と同じ:

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;  
}

function $(id) { return document.getElementById(id); }

function AJAX_GetAsinc(ajax, id, url) {
  ajax.abort();
  function statechange() {
    if ((ajax.readyState==4) && (ajax.status==200)) $(id).innerHTML=ajax.responseText;
  }
  ajax.open('GET', url, true);
  ajax.onreadystatechange = statechange;
  ajax.send(null);
}

var ajax = getHTTPObject();

AJAX_GetAsinc(ajax, 'MyDiv', 'test.php'); // This loads the content

ああ、そうです...これで混乱が減りました:S

于 2012-06-27T20:26:24.980 に答える
1

ajax を使用することが解決策です。:) ajax (非同期 JavaScript および XML) が行うことは、外部の php ページを実行し、ページをリロードせずにその結果を動的に返すことです。:)

もちろん、別の解決策は、html ファイルを .php にして、追加したい php を単にエコーすることです。

于 2012-06-27T20:28:57.823 に答える