Ich versuche zu lernen, eine Webapp mit JavaScript neben nodejs zu machen. Ich habe keine Ideen mehr und habe keine Ahnung, ob ich das richtig mache. Also was ich versuche zu tun ist, wenn ein Benutzer auf eine Zeile einer dynamisch erzeugten Tabelle klickt, öffnet er eine neue HTML-Seite mit einer Menge von Formulareingaben, die bereits mit den Werten in einem json gefüllt sind. Gerade jetzt habe ich es, dass, wenn ich auf die Tabellenzeile klicke, ich die gewählte Id bekommen kann und als ein Test will ich es in ein Eingabefeld laden, aber ich bekomme es als undefinedWert an eine andere Webseite übergeben
einen guten Teil der Tabelle erstellen Funktion mit der Füllformfunktion
for (i = 0; i < attendee.length; i++) {
var tr = document.createElement('TR');
if(i % 2 == 0)
{
tr.bgColor = '#E9F2F5';
}
for (var j = 0; j < attendee[i].length; j++) {
var td = document.createElement('TD');
/* if (j != 0) {
td.setAttribute('contenteditable', 'true');
}*/
td.appendChild(document.createTextNode(attendee[i][j]));
tr.appendChild(td);
var currentRow = table.rows[i];
var createClickHandler =
function(tr)
{
return function() {
var cell = tr.getElementsByTagName("td")[0];
var id = cell.innerHTML;
fillForm(id);
};
};
currentRow.onclick = createClickHandler(currentRow);
}
tableBody.appendChild(tr);
}
myTableDiv.innerHTML = "";
myTableDiv.appendChild(table);
}
// this function is included in the html page as a onload function
function fillForm(id)
{
window.open("/populatedForm.html");
document.getElementById("id").value = id;
console.log(id);
}
Ein Teil der HTML-Eingabe, die ich ausfüllen möchte.
<div class=container2>
<form method="PUT" action="/process-form" enctype="multipart/form-data" autocomplete="off">
<fieldset>
<label>
ID<br/>
<input id="id" name="id" type="text" value=" " required/>
</label>
<br/>
sieht Und das ist, wie der Eingang aussieht, wenn ich in der Tabelle auf einer Zeile klicken. Es öffnet die neue HTML-Seite, aber die Eingabe wird auf undefiniert gesetzt. Ich habe den Rest nicht gemacht, da ich nicht zur Arbeit kommen kann.
Jeder Rat wäre großartig! Vielen Dank!
Haben Sie einen Shop oder irgendetwas zu speichern auf Ihrer Webseite? Ich denke, was passiert, dass Sie nicht genau aus dem Code erkennen können ist, wenn die neue Webseite auftaucht, ist es eine frische Seite ohne Status. Ist das eine einseitige Anwendung? Wenn das nicht der Fall ist, müssen Sie einen Parameter über die URL senden oder einen anderen Weg wählen, um ihn an die Seite zu übergeben. Sie können auch einen Browserspeicher verwenden, um den Status zu speichern. –
Nein, ich habe keinen Speicher, denke ich. Es ist keine einzelne Seite App. Aber ich habe in den Browserspeicher geschaut (lokaler Speicher ist was ich vermute, dass du meinst) und ich habe es gerade ausprobiert und es funktionierte für den Id-Eingang, den ich für die anderen ausprobieren musste. Aber ist es sicher, lokalen Speicher zu verwenden? –
Es hat seine Probleme, ich würde sehr empfehlen, die Variablen als Parameter in der URL zu übergeben und es von dort zu ergreifen. Ich denke, ein Teil des Problems, das Sie haben, setzt Geschäftslogik und viel davon auf das Frontend, wenn Sie es vom Server aus tun sollten.Ich würde empfehlen, in serverseitigen und clientseitigen Routing zu suchen und dieses Projekt von dort aus zu beenden. –