Bin leider auch kein JS Experte, aber hab dennoch eine effektive Lösung:
Erstelle einen Ordner "ajax" im adminforce verzeichnis. Erstelle darin 2 Dateien
1. ajax.js mit folgendem Inhalt:
HTML-Code:
var request = false;
function delete_campain(tan) {
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {}
}
}
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
var url = "ajax/del_camp.php?tan="+tan+"";
request.open('post', url, true);
request.send(null);
request.onreadystatechange = mach_was;
}
}
function mach_was() {
switch (request.readyState) {
case 4:
if (request.status != 200) {
alert("Fehler:"+request.status);
} else {
var content = request.responseText;
document.getElementById("del_msg").style.display = 'block';
document.getElementById('del_msg').innerHTML = content;
}
break;
default:
break;
}
}
function schliessen(ziel) {
if (!ziel) {
document.getElementById("del_msg").style.display = 'none';
} else {
document.getElementById(ziel).style.display = 'none';
}}
2. del_camp.php mit folgendem Inhalt:
HTML-Code:
<?
require_once('../../lib/functions.lib.php');
db_connect();
session_start();
if ($_SESSION['admin'] != 1) exit;
echo '<div align="right"><a href="javascript:schliessen()">X</a><br></div>';
$tan = addslashes($_GET['tan']);
if ($tan != '') db_query('DELETE FROM '.$db_prefix.'_gebuchte_werbung WHERE tan = "'.$tan.'" LIMIT 1');
if (mysql_affected_rows() == 1) echo 'Kampagne '.$tan.' wurde gelöscht!';
db_close();
EDIT: Von den folgenden Dateien vorsichtshalber ein Backup machen!
Danach das Script in den Header einbinden , adminforce/lib/header.php über </head> einfügen:
HTML-Code:
<script language="javascript" src="ajax/ajax.js"></script>
Falls du dort schon ne ajax.js drin hast, kannste diese hier natürlich auch umbenennen.
und der letzte Schritt:
Die Datei öffnen, wo die eigentliche Lösch-Funktion drin ist. Ich nehm hier mal als Beispiel die adminforce/content/interfacebanner/dsn-ads.php:
Füge im HTML Bereich, dabei darauf achten nicht zwischen <? und ?> zu schreiben, folgendes ein,
HTML-Code:
<div id="del_msg" style="style:display:none;position:fixed;z-index:2;width:300px;height:100px;top:40%;left:20%;border:solid 1px black;background-color:#DEDEDE;"></div>
und zu guter letzt die Lösch Funktion an sich:
aus:
PHP-Code:
<a href="?content=/interfacebanner/dsn-ads&loeschen=true&kid='.$anzeigen['kid'].'" target="_self">Löschen</a>
muss:
PHP-Code:
<a href="javascript:delete_campain(\''.$anzeigen['kid'].'\')">Löschen</a>
Habe das jetzt genauso bei mir eingebaut und es klappt ganz gut. Muss natürlich nix heissen, aber Versuch macht kluch.
MFG