Gewusst wie: aufrufen einer javascript-Funktion aus einer anderen php-Datei
Möchte ich aufrufen einer javascript-Funktion (im Lieferumfang enthalten innerhalb einer html-Datei: index.html) aus einer php-Datei (xyz.php).
Also, wenn ich auf einen link innerhalb der xyz.php Seite, aufrufen der javascript-Funktion aus index.html.
Etwas wie:
echo '<a href="#" onclick="index.html.someFunction(e)"></a>';
Irgendwie muss Adresse index.html, wo sich die Funktion befindet.
EDIT:
Index.html
<html>
<head>
</head>
<body>
<button id="search_button" type="submit" value= "Search" onclick= "return getOutput()">Search</button>
<div id="output" style="width:395px; height:150px; overflow: auto; background = #969696" > </div>
</body>
<script>
//THIS DISPLAYS THE CONTENT OF MY PHP PAGE INSIDE THE DIV FIELD
function getOutput() {
getRequest(
"xyz.php?eingabe=123&eingabe2=File.csv", //URL for the PHP file
drawOutput, //handle successful request
drawError //handle error
);
return false;
}
function getOutput(link) {
getRequest(
link, //URL for the PHP file
drawOutput, //handle successful request
drawError //handle error
);
return false;
}
//handles drawing an error message
function drawError() {
var container = document.getElementById('wagoartikelnr2');
container.innerHTML = 'Bummer: there was an error!';
}
//handles the response, adds the html
function drawOutput(responseText) {
var container = document.getElementById('wagoartikelnr2');
container.innerHTML = responseText;
}
//helper function for cross-browser request object
function getRequest(url, success, error) {
var req = false;
try{
//most browsers
req = new XMLHttpRequest();
} catch (e){
//IE
try{
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
//try an older version
try{
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
return false;
}
}
}
if (!req) return false;
if (typeof success != 'function') success = function () {};
if (typeof error!= 'function') error = function () {};
req.onreadystatechange = function(){
if(req.readyState == 4) {
return req.status === 200 ?
success(req.responseText) : error(req.status);
}
}
req.open("GET", url, true);
req.send(null);
return req;
}
</script>
</html>
XYZ.PHP
<html>
<?php
$vergleich = $_GET["eingabe"];
$datei = $_GET["eingabe2"];
$temp2a = array("0.1.2.4", "0.1.2.3", "0.1.2.2");
for ($i = 0; $i < count($temp2a); $i++) {
$URL = "xyz.php?eingabe=',temp2a[$i],'&eingabe2=',$datei,";
echo '<a href=',temp2a[$i],' onClick= "index.html.getOutput($URL)"></a>';
}
?>
<body>
</body>
</html>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie speichern Sie die Javascript-code in eine externe js-Datei und fügen ihn in Ihre html - /php-Dateien über die
script
tag;<script src="path/to/your/js/file.js"></script>
EDIT: Ok, zuerst von allen, müssen Sie entfernen die überladene getOutput(link) - Funktion zusammen. Dadurch wird Ihr Anruf an xyz.php Datei zeigen Sie auf die eigentliche php-Datei, da es sonst Punkte, um eine Datei namens nicht definiert ist (da Sie nicht die link-parameter). Dann ist da ein Tippfehler in den xyz.php Datei in Zeilen 16,17:
sollte geändert werden, um dieses;
EDIT2: Fand einige weitere kleine Fehler in den Dateien;
index.html:
xyz.php:
script.js:
script
- tag an der Unterseite der Seiten (rechts vor derbody
closing tag).verwenden Sie diesen code