Hallo allemaal,
Ik probeer een applicatie te maken waarin Ajax/Javascript en Php tegelijkertijd wordt gebruikt.
De object welke ik gebruik heet httpObject(van class XMLHttpRequest). De aanroep/call is de combinatie van de httpObject-object en de responseText-variabel.
De responseText-variabel returnt een string, waarin de gehele html document(alle codes) wordt geprint(de echo($_GET['bbb']) wordt ook succesvol geprint).
Het probleem is dat de gehele html codes worden uitgevoerd. Ik wil alleen de inhoud van de <div id='baslangic'>-Tag naar de <div id="outputText">-Tag sturen. Hiervoor heb ik geprobeerd de string(gekregen uit responseText) te delen in kleine stukken(en daarna 1 stukje te printen naar de <div id="outputText">-Tag), maar wanneer ik de indexOf() en substr() probeer te gebruiken, lukt het niet. Weet iemand wat hier verkeerd is, of hebben jullie een ander oplossing?
Groeten
[JS]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<div id='baslangic'>
<?php
echo($_GET['bbb']);
?>
</div>
<script language="javascript" type="text/javascript">
<!--
function getHTTPObject(){
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) {
return new XMLHttpRequest();
http_request.overrideMimeType('text/html');
}
else {
alert("Your browser does not support AJAX.");
return null;
}
}
function setOutput(){
if(httpObject.readyState == 4){
var bdy_text = httpObject.responseText;
document.getElementById('outputText').innerHTML = bdy_text;
}
}
function doWork(){
httpObject = getHTTPObject();
if (httpObject != null) {
httpObject.open("GET", "san2.php?bbb=" + document.getElementById('inputText').value, true);
httpObject.send(null);
httpObject.onreadystatechange = setOutput;
}
}
var httpObject = null;
//-->
</script>
<form name="testForm">
Input text: <input type="text" onkeyup="doWork();" name="inputText" id="inputText" /> <br /><br />
Output text: <div id="outputText"></div>
</form>
</body>
</html>
[/JS]
Ik probeer een applicatie te maken waarin Ajax/Javascript en Php tegelijkertijd wordt gebruikt.
De object welke ik gebruik heet httpObject(van class XMLHttpRequest). De aanroep/call is de combinatie van de httpObject-object en de responseText-variabel.
De responseText-variabel returnt een string, waarin de gehele html document(alle codes) wordt geprint(de echo($_GET['bbb']) wordt ook succesvol geprint).
Het probleem is dat de gehele html codes worden uitgevoerd. Ik wil alleen de inhoud van de <div id='baslangic'>-Tag naar de <div id="outputText">-Tag sturen. Hiervoor heb ik geprobeerd de string(gekregen uit responseText) te delen in kleine stukken(en daarna 1 stukje te printen naar de <div id="outputText">-Tag), maar wanneer ik de indexOf() en substr() probeer te gebruiken, lukt het niet. Weet iemand wat hier verkeerd is, of hebben jullie een ander oplossing?
Groeten
[JS]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<div id='baslangic'>
<?php
echo($_GET['bbb']);
?>
</div>
<script language="javascript" type="text/javascript">
<!--
function getHTTPObject(){
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) {
return new XMLHttpRequest();
http_request.overrideMimeType('text/html');
}
else {
alert("Your browser does not support AJAX.");
return null;
}
}
function setOutput(){
if(httpObject.readyState == 4){
var bdy_text = httpObject.responseText;
document.getElementById('outputText').innerHTML = bdy_text;
}
}
function doWork(){
httpObject = getHTTPObject();
if (httpObject != null) {
httpObject.open("GET", "san2.php?bbb=" + document.getElementById('inputText').value, true);
httpObject.send(null);
httpObject.onreadystatechange = setOutput;
}
}
var httpObject = null;
//-->
</script>
<form name="testForm">
Input text: <input type="text" onkeyup="doWork();" name="inputText" id="inputText" /> <br /><br />
Output text: <div id="outputText"></div>
</form>
</body>
</html>
[/JS]
Laatst bewerkt: