Code: Alles auswählen
alert(xmlhttp.responseText);
Code: Alles auswählen
alert(xmlhttp.responseText);
Weil dein Template sehr wahrscheinlich auf ein Layout basiert, das HTML-Code enthält?ortensirpo hat geschrieben:Wenn ich in Contenido ein blödes HTML-Modultemplate und ein Modul und den ganzen Krempel erstellt habe, warum zum Teufel bekomme ich wenn ich mir
die Antwort des PHP-Skripts ausgeben lasse den kompletter Source der Seite noch einmal zurück? Liegt dies am echo "AJAXTEST"; im PHP-Modul?Code: Alles auswählen
alert(xmlhttp.responseText);
Irgendwo ist da noch der Wurm drin, versuch mal folgendes:ortensirpo hat geschrieben:...Ich habe dann unter 'Templates' das Layout von meinem leeren Layout auf Standard gesetzt, irgendwie will mir dass nicht einleuchten?!
Mein Request per AJAX zerschiesst immer noch dass ganze...
Code: Alles auswählen
<container id="10" name="AJAX" types="Content" mode="optional" default="MyAJAXModul">AJAX</container>
Code: Alles auswählen
echo 'Foobar';
Code: Alles auswählen
// Request wurde gesetzt
if (isset($_POST["quest"]))
{
print_r ($_POST);
} else {
// Das Template ausgeben
if (!isset($tpl) || !is_object($tpl)) {
$tpl = new Template();
}
$tpl->reset();
$tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/bfw_frontend.html");
}
Code: Alles auswählen
<script type="text/javascript">
function getFromCMS(str)
{
var myUrl = "front_content.php";
var params = "quest="+str;
var myField = "bfwsuchfeld";
var Field = document.getElementById(myField); // selects the given element
try {
if(window.XMLHttpRequest) {
// Gecko (Firefox, Moz), KHTML (Konqueror, Safari), Opera, Internet Explorer 7
xmlhttp = new XMLHttpRequest();
} else if(window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer 4,5,5.5,6
}
} catch(e) {
return false;
}
xmlhttp.open("POST", myUrl, true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4) {
alert(xmlhttp.responseText);
Field.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.setRequestHeader('Content','application/x-www-urlencoded');
xmlhttp.send(params);
}
</script>
<div id="bfw-form">
<fieldset>
<legend>Bitte wählen Sie die Branche aus</legend>
<p>
<label for="felderwahl">Bitte wählen Sie das Suchfeld aus:</label>
<select name="felderwahl" size="1" onChange="getFromCMS(this.value)">
<option value="standort">Standort</option>
<option value="branche">Branche</option>
<option value="beruf">Beruf</option>
<option value="berufe_dauer">Ausbildungsdauer</option>
<option value="abschluss">Ausbildungsqualifikation</option>
<option value="hilfen">besondere Hilfen</option>
</select>
</p>
</fieldset>
<div id="bfwsuchfeld"></div>
</div>
Code: Alles auswählen
<?php $thisIsAAjaxLayout = true; ?>
Code: Alles auswählen
// Request wurde gesetzt
if (isset($thisIsAAjaxLayout) && isset($_POST["quest"]))
{
print_r ($_POST);
} elseif (!isset($thisIsAAjaxLayout)) {
// Das Template ausgeben
....
}
Code: Alles auswählen
function getFromCMS(str)
{
var myUrl = "front_content.php";
var params = "idart=50&quest="+str;
...
Leider, eben nicht, ich bekomme immer den kompletten Quelltext der Seite zurückgegeben ob die Variable gesetzt ist oder nicht. Der Einzige Unterschied besteht darin, dass er mir wenn $_POST gesetzt ist in dem Quelltext-Haufen noch die Antwort des Servers (echo ) ausgibt.In deinem Fall wird das Template ausgegeben, wenn keinen $_POST["quest"] gibt.
Code: Alles auswählen
<html>
<head>
<title>test</title>
</head>
<body>
<container id="10" name="Inhalt" types="Content" mode="optional" default="">Content 1</container>
</body>
</html>
Code: Alles auswählen
<?php $thisIsAAjaxLayout = true; ?>
<container id="10" name="Inhalt" types="Content" mode="optional" default="">Content 1</container>
Code: Alles auswählen
<?php
// Request wurde gesetzt
if (isset($thisIsAAjaxLayout) && isset($_POST["quest"]))
{
print_r ($_POST);
} elseif (!isset($thisIsAAjaxLayout)) {
echo <<<HTML
<script type="text/javascript">
function getFromCMS(str)
{
var myUrl = "front_content.php?idart=123";
var params = "quest=" + encodeURI(str);
var myField = "bfwsuchfeld";
var Field = document.getElementById(myField); // selects the given element
try {
if(window.XMLHttpRequest) {
// Gecko (Firefox, Moz), KHTML (Konqueror, Safari), Opera, Internet Explorer 7
xmlhttp = new XMLHttpRequest();
} else if(window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer 4,5,5.5,6
}
} catch(e) {
return false;
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4) {
alert(xmlhttp.responseText);
Field.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", myUrl, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
}
</script>
<div id="bfw-form">
<fieldset>
<legend>Bitte wählen Sie die Branche aus</legend>
<p>
<label for="felderwahl">Bitte wählen Sie das Suchfeld aus:</label>
<select name="felderwahl" size="1" onchange="getFromCMS(this.value)">
<option value="standort">Standort</option>
<option value="branche">Branche</option>
<option value="beruf">Beruf</option>
<option value="berufe_dauer">Ausbildungsdauer</option>
<option value="abschluss">Ausbildungsqualifikation</option>
<option value="hilfen">besondere Hilfen</option>
</select>
</p>
</fieldset>
<div id="bfwsuchfeld"></div>
</div>
HTML;
}
?>
Code: Alles auswählen
var myUrl = "front_content.php?idart=123";