Funktion mit Array (oder ähnliches) wiederholen, Einfaches füllen und ausgeben mehrer Felder
Hallo Zusammen,
habe von javaScript nicht so die Ahnung und darum brauche ich eure Hilfe.
Mein Ziel:
Mehrer eingabe Felder in HTML mit gleichzetiger Ausgabe und der möglichkeit zu löschen.
Ich habe es zu zeit so gelöst bzw. das ist mein Ansatz.
Code:
Nun muss es ja möglich sein die Funktion immer wieder zu benutzen ohne Sie 30 mal oben als funktion zu schreiben. ich denke das geht mit einen Array aber habe kein Plan wie.
Ich hoffe ich die Frage ist Verständlich.
Danke
habe von javaScript nicht so die Ahnung und darum brauche ich eure Hilfe.
Mein Ziel:
Mehrer eingabe Felder in HTML mit gleichzetiger Ausgabe und der möglichkeit zu löschen.
Ich habe es zu zeit so gelöst bzw. das ist mein Ansatz.
Code:
<html>
<script language="javascript">
function addEntry() {
var oOption=document.createElement("OPTION");
oOption.text=news2.value;
s2.add(oOption);
}
function removeEntry() {
if (s2.selectedIndex==-1) return false;
s2.remove(s2.selectedIndex);
}
</script>
<script language="javascript">
function addEntry1() {
var oOption=document.createElement("OPTION");
oOption.text=news3.value;
s3.add(oOption);
}
function removeEntry1() {
if (s3.selectedIndex==-1) return false;
s3.remove(s3.selectedIndex);
}
</script>
<Table border="1">
Server Spezifikationen
<TR>
<td>
Servername
</td>
<td>
<select id="s2" size="1">
</select><br>
<input type="button" onclick="removeEntry()" value="löschen">
</td>
<td>
<input type="text" id="news2">
<input type="button" onclick="addEntry()" value="speichern">
</td>
</tr>
<TR>
<td>
Servername
</td>
<td>
<select id="s3" size="1">
</select><br>
<input type="button" onclick="removeEntry1()" value="löschen">
</td>
<td>
<input type="text" id="news3">
<input type="button" onclick="addEntry1()" value="speichern">
</td>
</tr>
</table>
<br>
</html>
Ich hoffe ich die Frage ist Verständlich.
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 187693
Url: https://administrator.de/contentid/187693
Ausgedruckt am: 26.11.2024 um 06:11 Uhr
8 Kommentare
Neuester Kommentar
Hi
hm... besser wäre es gewesen wenn du einfach mal genauer erklärt hättest was du denn vorhast !
Aber die Lösung ist eigentlich gaaaanz einfach ;)
Übergebe der Funktion die IDs der HTML-Elemente.
~Arano
hm... besser wäre es gewesen wenn du einfach mal genauer erklärt hättest was du denn vorhast !
Aber die Lösung ist eigentlich gaaaanz einfach ;)
Übergebe der Funktion die IDs der HTML-Elemente.
<script>
function addEntry(targetId, sourceId)
{
var oOption=document.createElement("OPTION");
oOption.text=sourceId.value;
targetId.add(oOption);
}
</script>
<input onclick="addEntry('s1','news1')">
...
<input onclick="addEntry('s2','news2')">
...
<input onclick="addEntry('s3','news3')">
~Arano
Mehrer eingabe Felder in HTML mit gleichzetiger Ausgabe und der möglichkeit zu löschen.
... hast Du auch bedacht, dass beim senden des Formulars nur die ausgewählten Elemente aus SELECT übertragen werden? - könnte eine Liste mit INPUT (text o. checkbox) Feldern nicht sinnvoller sein ?Weiterhin würde ich nicht in jedes HTML Input Element den Javascript Code einbauen, sondern mit
.getElementsByTagName()
Hoho junge...
stehst wohl mit beiden Füßen auf dem Schlauch, he !?
Du hättest doch nur dein eigenes (altes) soweit anpassen müssen, das die IDs aus den Parametern gezogen werden...
Du solltest noch eine Prüfung auf gefüllte Eingabefelder einbauen, sonst werden leere <option>s erzeugt ;)
~Arano
stehst wohl mit beiden Füßen auf dem Schlauch, he !?
<input type="text" id="('s1','news1')">
*hihi*Du hättest doch nur dein eigenes (altes) soweit anpassen müssen, das die IDs aus den Parametern gezogen werden...
<html>
<head>
<title>was auch immer...</title>
<script type="text/javascript">
<!--
function addEntry( targetId, sourceId )
{
var oSource = document.getElementById( sourceId );
var oTarget = document.getElementById( targetId );
if( null==oSource || null==oTarget )
{
alert( "Das Quell- oder Zielelement wurde nicht gefunden !" );
return false;
}
var oOption = document.createElement( "OPTION" );
oOption.text = oSource.value;
oTarget.add( oOption );
// leere eingabefeld ;)
oSource.value = "";
return true;
}
function removeEntry( selectId )
{
var oSelect = document.getElementById( selectId );
if( oSelect.selectedIndex==-1 )
return false;
oSelect.remove( oSelect.selectedIndex );
return true
}
-->
</script>
</head>
<body>
<select id="s1" size="1"></select><br>
<input type="text" id="news1">
<input type="button" onclick="addEntry( 's1', 'news1' )" value="speichern"><br>
<input type="button" onclick="removeEntry( 's1' )" value="löschen">
<br><br>
<select id="s2" size="1"></select><br>
<input type="text" id="news2">
<input type="button" onclick="addEntry( 's2', 'news2' )" value="speichern"><br>
<input type="button" onclick="removeEntry( 's2' )" value="löschen">
</body>
</html>
Du solltest noch eine Prüfung auf gefüllte Eingabefelder einbauen, sonst werden leere <option>s erzeugt ;)
~Arano
kann ich die Irgendwie Fest speichern?
o_O Und DAMIT kommst du erst jetzt !?nicht das ich das nicht eh schon befürchtet hatte... *g*
Wie ich es bereits mit meiner ersten Antwort auf deine Fragestellung gefordert hatte: eine genaue Beschreibung ;)
irgendwie = mach nen Screenshot :P
Also dein Problem ist jetzt folgendes:
HTML (HyperText Markup Language) ist nur eine Auszeichnungssprache, also um besondere Abschnitte eines Textes gesondert hervorzuheben / zu formatieren: Überschriften <h[1-6]>, Schlagwörter <[b|i|k]>, Listen <li>, Links, Dropdown, ect.
Zur statischen Darstellung - mehr nicht !
Um die Daten nun "irgendwie" zu speichern benötigst du also eine weitere Sprache die dieses kann, z.B: PHP - kann __dein SERVER__ das !? Oder Perl oder ASP.net oder eine andere.
Wenn ja, kannst du eben mit dieser Sprache die Daten z.B. in einer einfachen Datei speichern oder gar in eine Datenbank ablegen (was hier aber wohl überdimensioniert wäre, wenn nicht schon vorhanden)
Wenn nicht, sieht es schlecht aus. Ein bisschen Hoffnung kann ich dir allerdings mit HTML5 auch hier noch geben HTML5 und Local Storage aber damit habe ich mich noch nicht beschäftigt. Und dieses setzt voraus, das deine Seite immer auf dem Rechner benutzt wird auf dem auch die Daten gespeichert sind. die genaue Beschreibung fehlt ja ;)
Und ohne zu wissen was für Möglichkeiten du (dein Server) hast, kann man dir schlecht helfen...
Schönen Gruß
~Arano