Java Script Textdatei auslesen und veränder?

2 Antworten

Gar nicht ... Es gibt aber Umwege:

  1. AJAX GET-Request auf Textdatei
  2. Rückgabe ins Textfeld laden (Der Browser unterkringelt selber in rot)
  3. In DataURL wandeln und darüber downloaden.

Ansonsten, wenn du ein echtes File Management haben willst auf dem Server, musst du PHP anbinden. Auf den Benutzer PC kannst du nicht zugreifen. Solltest du davon eine Datei wollen, musst du ein Upload Feld bereitstellen

Lenzer66u 
Fragesteller
 12.09.2022, 11:26

Ok weil das ist halt gerade meine Aufgabe und php soll ich eigentlich nicht verwenden deswegen frage ich.

0
FaTech  12.09.2022, 11:33
@Lenzer66u

Ja, dann geht es nur so, wie bei mir beschrieben. Im Browser JS ist man eingeschränkt. Das hat Sicherheitsgründe. Mit NodeJS hingegen würde es gehen, das läuft aber nicht im Browser

0

z.b.

https://jsfiddle.net/TechPech1984/7pvxdsfg/

<html>
<head>
</head>
<body>
<form >
<p>
Text in Rot :
</p>
<input type="text" id="myText" name="myText">
<p>
Datei
</p>
<input type="file" id="myFile" name="myFile">
</form>
<div id="fileOutput">
</div>
<script>
var myFile = document.getElementById("myFile");
var myText = document.getElementById("myText");
var fileOutput = document.getElementById("fileOutput");
myFile.addEventListener('change',function(){
  var fileReader=new FileReader();
  fileReader.onload=function(){
     let changeText = myText.value;
     console.log(changeText);
     let text = fileReader.result;
     console.log(text);
     let finaly = text.replace(changeText, "<span style='color:#FF0000'>"+changeText+"</span>");
     fileOutput.innerHTML=finaly;
  }
  fileReader.readAsText(this.files[0]);
});
</script>
</body>
</html>
MrAmazing2  12.09.2022, 11:23

Wenn du eh let benutzt kannst du ruhig auch const anstatt var verwenden :D

0
MrAmazing2  12.09.2022, 12:04
@TechPech1984

anstatt .find() != undefined gibt es übrigens .some()

Und warum machst du einmal rndInt +1 und einmal ohne +1? :D

0
MrAmazing2  12.09.2022, 13:20
@TechPech1984

Jo aber du machst an einer Stelle +1 (in schleife) und an der anderen (vor der schleife) nicht

Ausserdem wird es dann zu [1 2[ anstatt [0 2[

0
TechPech1984  12.09.2022, 17:23
@MrAmazing2

oh ich sehe was du meinst, da oben hab ich das glatt vergessen lol . etwas unfähr ;) fängt der zufall nie mit max an .

0
Lenzer66u 
Fragesteller
 12.09.2022, 11:24

Wie mache ich das nur ein gewisser teil rot ausgegeben werden soll also zum beispiel nur fehlermeldungen?

0
Lenzer66u 
Fragesteller
 12.09.2022, 11:40

Ich weiß dumme frage aber wo sag ich denn wie der Dateiname ist und wo ich den pfad angebe

0