我怎么能让这个工作?我想加载一个像这样的php文件:
这应该强制加载php。这是代码。
<script type="text/javascript">
var d;
function callSave() {
alert ('calling');
if (d) document.body.removeChild(d);
// d = document.createElement("script");
d = document.createElement("img");
d.src = "savepages.php";
//d.type = "text/javascript";
document.body.appendChild(d);
}
</script>
然后在savepages.php中我做了另一个警告来验证php是否被调用而不是。这是savepages.php。
<?php
echo "alert('from the php');";
?>
来自php的警报不会发生。是否有一个不同的元素类型将强制加载PHP?我没有安装ajax,所以我需要这样的解决方法。
感谢。
答案 0 :(得分:0)
您可以使用iframe元素
<script type="text/javascript">
var d;
function callSave() {
alert ('calling');
if (d) document.body.removeChild(d);
d = document.createElement("iframe");
d.src = "savepages.php";
document.body.appendChild(d);
}
</script>
答案 1 :(得分:0)
找到更好的方法来处理这个问题。这个简单的代码解释了如何从表单事件调用javascript函数,并从该javascript函数加载PHP文件。在http://daniel.lorch.cc/docs/ajax_simple/找到的代码也在这里给出:
<script type="text/javascript">
var http = false;
if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}
function validate(user) {
http.abort();
http.open("GET", "validate.php?name=" + user, true);
http.onreadystatechange=function() {
if(http.readyState == 4) {
document.getElementById('msg').innerHTML = http.responseText;
}
}
http.send(null);
}
</script>
<h1>Please choose your username:</h1>
<form>
<input type="text" onkeyup="validate(this.value)" />
<div id="msg"></div>
</form>
validate.php
<?php
function validate($name) {
if($name == '') {
return '';
}
if(strlen($name) < 3) {
return "<span id=\"warn\">Username too short</span>\n";
}
switch($name) {
case 'bob':
case 'jim':
case 'joe':
case 'carol':
return "<span id=\"warn\">Username already taken</span>\n";
}
return "<span id=\"notice\">Username ok!</span>\n";
}
echo validate(trim($_REQUEST['name']));
?>