So, ich habe das Ganze jetzt in meine Testseite übernommen. Folgende Probleme hatte ich:
- Du greifst zwar auf 'sysIntegr' zu, in deinem Code aus Posting #40 finde ich dieses Feld jedoch nicht, sondern die Values werden direkt unter 'generalinfo" eingetragen.
- Du definierst alles als Array, dann funktioniert es mit Namen als Schlüssel nur teilweise. Besser als Objekte definieren.
Dies ist, was ich mir zusammen gereimt habe und was soweit funktioniert. Leider weiß ich jetzt nicht mehr, ob es noch deine Gegebenheiten trifft.
HTML
<!doctype html>
<html lang="en">
<head>
<title>Test download</title>
<meta charset="utf-8">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="js/download.js"></script>
<script id="formdata"></script>
</head>
<body>
<button onclick="savehtmlformdata();">Als HTML mit Formulardaten speichern</button>
<button onclick="readhtmlformdata();">Formulardaten lesen</button>
<input id="input1" name="input1" class="generalinfo">Input 1
<input id="input2" ame="input2" class="generalinfo">Input 2
<input id="input3" name="input3" class="generalinfo">Input 3
<input id="input" name="input4" class="generalinfo">Input 4
<script>
var firstInfo;
$(".generalinfo").on("input", function() {
firstInfo = {};
firstInfo['generalinfo'] = {};
firstInfo['object'] = [];
firstInfo['conveyor'] = [];
firstInfo['rfid'] = [];
firstInfo['opticalident'] = [];
firstInfo['interface'] = [];
var y = document.getElementsByClassName('generalinfo');
for (var i = 0; i < y.length; i++) {
firstInfo['generalinfo'][y[i].id] = y[i].value;
}
});
function savehtmlformdata() {
// Array "formdata" mit Inhalt von Array "firstInfo" definieren:
$("#formdata").text("var formdata = " + JSON.stringify(firstInfo)) + ";";
var thehtml = $("html");
var doc = '<!doctype html><html>' + thehtml.html() + '</html>';
download(doc, "savedTQ.html", "text/html");
console.log(firstInfo['generalinfo']);
}
function readhtmlformdata() {
// Und jetzt auf formdata zugreifen:
console.log(formdata['generalinfo']);
}
</script>
</body>
</html>
Alles anzeigen