我根本没有找到明确的答案。我一直在寻找一两个小时。
我有一个 PHP 页面进行 SQL 调用并构建我的页面。我有一个带有触发页面附加事件的 onClick JavaScript 函数的项目列表。除其他事项外,我需要使用 onClick 函数在 HTML 页面中附加额外的 PHP 代码。我一直希望通过包含附加到 PHP 文件中,但使用这个 JS 函数似乎无法使用。
想法将是最有帮助的。如果您可以通过代码参考或现有教程来支持您的答案,那将是非常棒的。
我根本没有找到明确的答案。我一直在寻找一两个小时。
我有一个 PHP 页面进行 SQL 调用并构建我的页面。我有一个带有触发页面附加事件的 onClick JavaScript 函数的项目列表。除其他事项外,我需要使用 onClick 函数在 HTML 页面中附加额外的 PHP 代码。我一直希望通过包含附加到 PHP 文件中,但使用这个 JS 函数似乎无法使用。
想法将是最有帮助的。如果您可以通过代码参考或现有教程来支持您的答案,那将是非常棒的。
JavaScript 是在客户端浏览器中执行的代码,PHP 是在服务器上执行的代码。试图从 JavaScript 输出 PHP 将永远不会成功。
如果您希望通过 JavaScript 触发 PHP 代码,您可以向服务器上的 PHP 文件发出XML Http 请求。
您可以使用 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(); });
高温高压
使用 AJAX,使用 jQuery 你可以这样做:
$.get('test.php', function(data) {
$("#MyDiv").html(data);
});
这会将“test.php”生成的内容插入到<div id="MyDiv">
.
行。你不想要 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
使用 ajax 是解决方案。:) ajax(异步 JavaScript 和 XML)所做的是运行外部 php 页面并动态返回其结果而无需重新加载页面。:)
当然,另一种解决方案是将您的 html 文件放在 .php 中,然后只回显您要添加的 php。