function laden(dateiname)
{
var http = null;
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
if (http != null) {
http.open("GET", dateiname, true);
http.onreadystatechange = array;
http.send(null);
}
}
function array() {
if (http.readyState == 4) {
var buffer = http.responseText;
var columnarray = buffer.split("\n");
test = new Array();
for (x = 0; x < columnarray.length; x++) {
test[x]= new Array();
rowarray = columnarray[x].split(";");
for (y = 0; y < rowarray.length; y++) {
test[x][y]=rowarray[y];
}
}
}
}
dateiname (".csv" absägen!) und sprichst die in laden() an. In array() kannst du mittels dieser globalen Variablen eine neue Variable window[dateiname] anstelle von test erschaffen. Diese steht dir - wenn der dateiname "Mitarbeiter" ist - als Variable Mitarbeiter global zur Verfügung.laden() erstellen. Habe Auch in der gleichen Form ein Array mit den Dateinamen angelegt.laden() übergebe ich ja den Dateinamen. laden() geöffnet werden soll?var dateiname="Mitarbeiter.csv"
<html>
<head>
<title>AJAX</title>
<script type="text/javascript" src="laden.js"></script>
<script type="text/javascript" src="array.js"></script>
<script type="text/javascript" src="build_menu.js"></script>
<script type="text/javascript" src="verarbeiten.js"></script>
</head>
<body>
<!--Anzeige des Menüs-->
<div id="menu"></div><br />
<script type="text/javascript">
<!--
//Array für die Datein
dateien = new Array( "Mitarbeiter.csv",
"Artikel.csv",
"Bestellung.csv",
);
//erzeugen des Menüs
build_menu();
--></script>
<!--Anzeige des Datein (Inhalt)-->
<div id="Ausgabe"></div><br />
</body>
</html>
function build_menu(){
var htm="<table><tr><td>löschen</a></td>";
for(var n=0;n<dateien.length;n++){
htm+="<td><a href=\"javascript:laden('"+dateien[n]+"');\">"+dateien[n]+"</a></td>";
}
htm+="<td><a href=\"javascript:verarbeiten();\">Verarbeitung</a></td>";
htm+="</tr></table>";
document.getElementById("menu").innerHTML=htm;
}
var http = null;
function laden(dateiname)
{
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
if (http != null) {
http.open("GET", dateiname, true);
http.onreadystatechange = array;
http.send(null);
}
}
var test = new Array();
function array() {
if (http.readyState == 4) {
var buffer = http.responseText;
var columnarray = buffer.split("\n");
for (x = 0; x < columnarray.length; x++) {
test[x]= new Array();
for (y = 0; y < rowarray.length; y++) {
test[x][y]=rowarray[y];
}
}
document.write(test[1][1]);
}
}array() möchte ich jetzt nach Betätigung des Verweise ein Array mit dem Namen der Datei (ohne .csv), welche geladen wurde, erstellen.var dateiname="Mitarbeiter.csv" anlegen? Ich habe ja das Array wo die Dateinamen drinne stehen.dateien[3]="neue_datei.csv" hängt man einen neuen eintrag an den array hinten dran. demo:
<html><head></head><body>
<script type="text/javascript">
var dateien=new Array(
"Mitarbeiter.csv",
"Artikel.csv",
"Bestellung.csv"
);
display_array(dateien);
erweitere_array(dateien);
display_array(dateien);
function erweitere_array(a){
a[a.length]=prompt("neuen Dateinamen eingeben:");
return(a);
}
function display_array(a){
var msg="";
for(var n=0;n<a.length;n++) msg+=a[n]+"\n";
alert(msg);
}
</script>
</body></html>
...
display_array(dateien);
[b]dateien=[/b]erweitere_array(dateien);
display_array(dateien);
...
array() ein Array erzeugen, welches den Namen besitzt, den die Variable Dateiname als Wert bei der Funktion laden() besitzt.laden() mittels Verweis aufrufe (siehe Funktion build_menu()) übergebe ich ja den Dateinamen. verarbeiten auswerten möchte, benötige ich ja jeden Dateiinhalt in einem Array. Ich möchte aber auch nicht für jeden Verweis eine andere Funktion laden() aufrufen, die dann eine Funktion array1, array2 und soweiter aufruft. Und in den Funktionen array() ändere ich dan nur den Namen des zu erstellenden Arrays.
<a href="javascript:erzeuge('mitarbeiter.txt')">mitarbeiter</a>
<a href="javascript:erzeuge('sabotteur.txt')">sabotteur</a>
var container=new Array(); // global
function erzeuge(arrayname){
container[arrayname]=lade_in_array(arrayname);
}
function lade_in_array(dateiname){
var txt=new Array();
// lese datei in array txt
return(txt);
}
POST-Array auslesen funktioniert nicht
Mel 02.08.2007 - 72 Hits - 3 Antworten
In Array schreiben
Mel 18.08.2007 - 55 Hits - 1 Antwort
Variablen in einer Datei auslesen
Mel 18.08.2007 - 41 Hits - 2 Antworten
Problem mit Arrays und Konstanten
Pagestylist 08.11.2007 - 87 Hits - 1 Antwort