Hallo Leute,
ich bin gerade dabei, ein kleines Script für JS-Templates zu schreiben.
Ich habe dazu im HTML in einem unsichtbaren DIV folgenden Code angelegt:
<script type="text/html" id="templateInput">
<tr>
<td class="t">IItitleII</td>
<td class="b"><input id="IIidII" value="IIvalueII" type="text"></td>
</tr>
</script>
Mit folgendem JS möchte ich das ganze Template dann in ein DIV mit der id inputs stecken:
function inputAdd = function(inputId, inputTitle, inputValue)
{
codeTemp = document.getElementById('templateInput').innerHTML;
codeTemp = codeTemp.replace( /IIidII/g, inputId );
codeTemp = codeTemp.replace( /IItitleII/g, inputTitle );
codeTemp = codeTemp.replace( /IIvalueII/g, inputValue );
document.getElementById( 'inputs' ).innerHTML += codeTemp;
}
Das Problem an der Sache ist, dass bei einem Aufruf der Funktion zwar alles richtig ersetzt wird, er jedoch wesentliche Teile des Templates einfach weglässt.
Die Ausgabe sieht so aus:
Test2
<input id="Test1" value="Test3" type="text">
Test2
<input id="Test1" value="Test3" type="text">
Ich kann mir schon vorstellen, dass er das "unrichtige" HTML irgendwie automatisch aussortiert, da er mit <tr> ohne <table> nichts anfangen kann. Daher suche ich nun eine gute und schönere Lösung, mit der 1. der komplette Quellcode des Templates verwendet wird und 2. der "unrichtige" HTML-Code nicht unbedingt im Quellcode auftauchen muss (Auslagern in das JS File?).
Ich würde mich sehr über Hilfe freuen,
beste Grüße, der Benjamin!