ich bin grad daran ein kleines Script zu basteln.
Man soll per Knopfdruck beliebig viele Eingabefelder erzeugen können was mit JS realisiert ist.
Funktioniert im FF auch ganz gut - nur leider im IE garnicht. Ich bekomme immer den Fehler Objekt erwaret.
<html>
<head>
<title>HCK XML Edit</title>
<script LANGUAGE="JavaScript">
var Id = 1;
var HCK = new Array("HCK", "Art", "user", "vo", "password", "url", "imei", "msisdn", "FaultSymptomCategory", "FaultSymptom", "loginuser", "loginvo", "loginpassword");
var Port = new Array("Port", "Art", "Hostname", "Port");
var webserver = new Array("webserver", "Art", "url");
var database = new Array("database", "Art", "Database", "Schema", "Password");
var vppValidate = new Array("vppValidate", "Art", "ServerAddress", "Path", "Port", "Appname");
var vppRefresh = new Array("vppRefresh", "Art", "ServerAddress", "Path", "Port", "Appname", "url", "User", "Password");
var ccBp = new Array("ccBp", "Art", "url", "msisdn");
var ccContract = new Array("ccContract", "Art", "url", "msisdn");
var caps =new Array(HCK, database, Port, webserver, vppValidate, vppRefresh, ccBp, ccContract);
function test()
{
document.write("blub");
}
function getCheck(ID, captions) {
var table = document.createElement("table");
//ID für die Tabelle festelegen
var aID = document.createAttribute("id");
aID.nodeValue = Id;
table.setAttributeNode(aID);
var aStyle = document.createAttribute("style");
aStyle.nodeValue = "border:3px solid black;";
table.setAttributeNode(aStyle);
//tr und td erstelllen
var row = document.createElement("tr");
var td1 = document.createElement("td");
var td2 = document.createElement("td");
//Beschriftungen festlegen
td1.appendChild(document.createTextNode("Art"));
//select Element mit Eigenschaften und Optionen definieren
var input = document.createElement("select");
var sName = document.createAttribute("name");
sName.nodeValue = "choice";
input.setAttributeNode(sName);
var sChange = document.createAttribute("onChange");
sChange.nodeValue = "change("+ Id +")";
input.setAttributeNode(sChange);
var Eintrag = document.createElement("option");
Eintrag.text = "Bitte wählen";
Eintrag.value = "choose";
input.appendChild(Eintrag);
for (var i =0; i < caps.length; i++)
{
var Eintrag = document.createElement("option");
Eintrag.text = caps[i][0];
Eintrag.value = i;
input.appendChild(Eintrag);
}
td2.appendChild(input);
row.appendChild(td1);
row.appendChild(td2);
table.appendChild(row);
//Tabelle in HTML-Seite einfügen
var elem = document.getElementById(ID);
elem.appendChild(table);
Id++;
}
function delete(elem)
{
document.write("1");
}
//Ändern des CheckWertes
function change(Id)
{
var elem = document.getElementsByName("choice")[Id-1];
var table = document.getElementById(Id);
while(table.childNodes.length > 1)
{
var sel = table.lastChild;
table.removeChild(sel);
}
for (var i = 0; i < caps[elem.selectedIndex-1].length; i++)
{
var tr = document.createElement("tr");
var td1 = document.createElement("td");
var td2 = document.createElement("td");
td1.appendChild(document.createTextNode(caps[elem.
selectedIndex-1][i]));
var input = document.createElement("input");
var attr = document.createAttribute("type");
attr.nodeValue = "text";
input.setAttributeNode(attr);
td2.appendChild(input);
tr.appendChild(td1);
tr.appendChild(td2);
table.appendChild(tr);
}
}
function load()
{
var robotValues = new Array("wait", "from", "to", "proxyHost", "proxyPort", "logFile", "database", "schema", "password", "table");
var input = document.getElementsByName("xml")[0].value;
//nach robot suchen
var pos = input.indexOf("<robot");
input = input.slice(pos,input.length);
//Elemente auslesen
for(var i =0; i < robotValues.length; i++)
{
input = input.slice(input.indexOf(robotValues[i]),input.le
ngth);
input = input.slice(input.indexOf('"')+1,input.length);
document.getElementsByName(robotValues[i])[0].valu
e = input.slice(0,input.indexOf('"'));
}
}
function save()
{
}
</script>
</head>
<body>
<form>
<textarea name = xml rows = 10 cols = 50>
</textarea>
<br>
<br>
<input type = button value="Laden" onClick="load()">   
<input type = button value="Speichern" onClick="")>
<br><br>
<table>
<tr>
<td>Wartezeit:</td>
<td><input type="text" name="wait"></td>
</tr>
<tr>
<td>Starzeit:</td>
<td><select name=from>
<script>
for(var i =0; i < 24; i++)
{
document.write("<option value = "+i+">"+ i + "</option>");
}
</script>
</select>
</td>
</tr>
<tr>
<td>Endzeit:</td>
<td><select name=to>
<script>
for(var i =0; i < 24; i++)
{
document.write("<option value = "+i+">"+ i + "</option>");
}
</script>
</select>
</td>
</tr>
<tr>
<td>Proxyhost:</td>
<td><input type="text" name="proxyHost"></td>
</tr>
<tr>
<td>Proxyport:</td>
<td><input type="text" name="proxyPort"></td>
</tr>
<tr>
<td>Logfile:</td>
<td><input type="text" name="logFile"></td>
</tr>
<tr>
<td>Datenbank:</td>
<td><input type="text" name="database"></td>
</tr>
<tr>
<td>Schema:</td>
<td><input type="text" name="schema"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="text" name="password"></td>
</tr>
<tr>
<td>Tabelle:</td>
<td><input type="text" name="table"></td>
</tr>
</table>
<input type="button" name ="neu" value ="Neuer Check" onClick=getCheck(0,Port)>
<p id =0>
</table>
</body>
</html>
Der Fehler taucht ganz unten in der Zeile
<input type="button" name ="neu" value ="Neuer Check" onClick=getCheck(0,Port)>
auf.
Ein weiteres Problem was noch existiert is folgendes: Wenn man die Art bei einem Auswahlfeld mehrmals ändert entsteht ohne Grund eine immer größer werdende Lücke zwischen Auswahlbox und Eingabefeldern. Kann mir einer sagen wie cih das weg bekomme?
greetz skelle

Hilfe
Neues Thema
Antworten


Nach oben

