internet2107
Goto Top

Max. Länge einer Variable (Javascript)??

Hallo und guten Tag zusammen,

ich habe eine Frage zu der max. Länge einer Variable in Javascript. Gibt es diese?
Ich habe folgendes Problem.

Ich leite in eine Variable eine Menge Daten, die ich anschließend in eine Email umwandle.
Jedoch stelle ich fest, dass ab einer bestimmten Länge keine Email mehr erzeugt wird. Hat jemand eine Ahnung wieso und warum?

Zur Erklärung. Ich lese diverse Berechnungen aus einem HMTL aus und möchte diese per Email weitergeben.
Das klappt auch bis zu einer bestimmten Anzahl von Zeilen. Nehme ich den unten geposteten Text, lässt sich noch eine Email erzeugen.
Füge ich allerdings noch ein paar Zeilen hinzu, weitere Berechnungen, öffnet sich das Fenster des Emailprogramms nicht mehr.

// Hier lese ich einzelne Felder aus.
var1email = read(document.tab1.gesamtb.value).toFixed(2); 
....
usw..


// Hier schreibe ich alle Daten in einer Variable.

var formattedBody = "Ausgabe, (c) 2016 - Beispiel\n\Berechnung vom " + timeformatted  +   
 "\n---------------------------------------------------\n\n" +   
"Berechnung 1Berechnung 1: \n" + var1email + " Euro\n" +   
"Berechnung 1Berechnung 1: \n" + var2email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var3email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var4email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var7email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var9email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var11email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var13email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var15email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var16email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var17email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var18email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var19email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var21email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var22email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var23email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var24email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var25email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var26email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var27email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var28email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var30email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var32email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var34email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var35email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var36email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var37email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var38email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var41email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var42email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var43email + " Euro\n" +  
"Berechnung 1Berechnung 1: \n" + var44email + " Euro\n"  
;

// Hier wird eine Mail erzeugt und das Emailprogramm geöffnet.

var mailToLink = "mailto:x@y.com?subject=Ausgabe&body=" + encodeURIComponent(formattedBody);  
window.location.href = mailToLink;

Über eine hilfreiche Antwort würde ich mich sehr freuen.

Content-ID: 301949

Url: https://administrator.de/contentid/301949

Ausgedruckt am: 25.11.2024 um 09:11 Uhr

114757
114757 15.04.2016, aktualisiert am 16.04.2016 um 10:13:47 Uhr
Goto Top
Nicht die Variable selber ist hier beschränkt sondern die Länge der Mailto URL-Zeile im Browser face-wink
http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of ...
Die du in Zeile 47 zusammensetzt und dann in Zeile 48 an den Browser übergibst.

Sowas realisiert man normalerweise mit einem PHP-Skript und einem POST-Request..

Gruß jodel32
Sheogorath
Sheogorath 15.04.2016 aktualisiert um 13:08:57 Uhr
Goto Top
Moin,

mal abesehen davon, dass man bei dem Code ja einen Schreikrampf bekommt da du variablen mit Zahlen im Namen nutzt die hochgezählt werden, statt eines Arrays, ja es gibt eine Maximallänge allerdings ist die je nach JavaScript-Engine unterschiedlich.

du solltest in jedem Fall einfach mal deinen Email-Kram in in ein Array packen und darüber iterieren. ggf. hast du einfach irgendwo ein Fehler beim Sourcen kopieren gemacht.

Gruß
Chris

PS:
Sowas realisiert man normalerweise mit einem PHP-Skript und einem POST-Request..
Tzz, wozu gibt es Server-Side JavaScript ;)
114757
114757 15.04.2016 aktualisiert um 14:59:34 Uhr
Goto Top
Zitat von @Sheogorath:
Tzz, wozu gibt es Server-Side JavaScript ;)
Jepp, läuft beides auf dem Server, ist also Jacke wie Hose.
internet2107
internet2107 15.04.2016 um 13:40:30 Uhr
Goto Top
Danke für die sehr "konstruktive" Antwort face-wink

Man wundert sich inzwischen, ob es nicht mal einen Tag ohne Beleidigungen geht face-wink
Aber natürlich seid Ihr beide gleich mit einem überqualifizierten "Wissen" geboren worden, konntet schon Code schreiben, noch bevor Ihr "Mama" oder "Papa" sagen konntet.

Egal. Schönes Wochenende noch.