Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

HTML String per Hinzufügen Button anfügen

Frage Entwicklung

Mitglied: miichiii9

miichiii9 (Level 1) - Jetzt verbinden

27.03.2014 um 09:17 Uhr, 2451 Aufrufe, 14 Kommentare, 1 Danke

Hallo zusammen

Ich versuche seit einiger Zeit eine Seite zu erstellen. Auf dieser Seite ist unteranderem ein Hinzufügen Button. Wenn man auf diesen Button klickt sollte auf der Seite weitere Felder erscheinen, zum ausfüllen...

Diese Zeilen sollten nach den betätigen des Hinzufügen Button erneut darunter erscheinen:

<form action="neuesfeld.html" method="post">
<label for="name">Name</label>
<input type="text" name="name" id="name" required="required">
<select>
<option>Radiobutton</option>
<option>Checkbox</option>
<option>Textfeld</option>
<option>Textarea</option>
<option>Select (Dropdown)</option>
<option>Password</option>
</select>
&Uuml;berpr&uuml;fung
<select>
<option>Zahlen</option>
<option>Textl&aml;nge</option>
<option>Datum</option>
</select>
<input type="submit" name="submit" value="Hinzuf&uuml;gen">

Was wäre der einfachste Weg dies zu realisieren?
Ich habe mich ein bisschen schlau gemacht mit Javascript per fuction, aber noch nichts richtiges gefunden.

Ich kenne mich mit HTML/CSS aus und PHP bin ich mir am beibringen.

Danke für eure Hilfe
Mitglied: wiesi200
27.03.2014 um 09:39 Uhr
Hallo,

jquery sollte dir eigentlich liefern was du brauchst.
Im Endeffekt würde ich die CSS Eigenschaften dahingehend abändern lassen zum ein bzw. ausblenden.
Bitte warten ..
Mitglied: miichiii9
27.03.2014 um 09:48 Uhr
Okee.... und wie sollte das genau aussehen?
Bitte warten ..
Mitglied: wiesi200
27.03.2014 um 10:04 Uhr
So wie es in der Dokumentation beschrieben ist?

http://jqueryui.com/hide/

oder

http://jqueryui.com/addClass/
http://www.w3schools.com/css/css_display_visibility.asp


Ansehen hättest es dir schon können
Bitte warten ..
Mitglied: miichiii9
27.03.2014 um 10:10 Uhr
ja aber wie will ich dort mein Code einfügen?
Bitte warten ..
Mitglied: wiesi200
27.03.2014 um 10:40 Uhr
Überhaupt nicht.
Die Elemente sind immer da. Am besten packst du die in einen eigenständigen DIV Container.
Wie ich zu Anfang geschrieben hab. Einfach nur ein bzw. ausblenden.
Bitte warten ..
Mitglied: miichiii9
27.03.2014 um 11:00 Uhr
Durch betätigen des Hinzufügen button erscheint ein neuer Hinzufügen Button und wenn dieser betätigt wird erscheint ein neuer... und so weiter...

nun weiss ich nicht wie viele Felder der User benötigt und soher das ausblenden nicht optimal ist.
Bitte warten ..
Mitglied: wiesi200
27.03.2014 um 11:04 Uhr
Dann eben die anderen jquery Funktionen.

Nochmal jquery sollte das können was du brauchst. Du musst dir nur erst mal die Mühe machen das anzusehen.
Bitte warten ..
Mitglied: 16568
27.03.2014, aktualisiert um 11:13 Uhr
Oder wenn man mit Kanonen auf Spatzen schiessen will, weil man den anderen Source nicht vorher rausrücken will: AJAX.

Sieht dann z.B. so aus klick


Lonesome Walker
Bitte warten ..
Mitglied: colinardo
27.03.2014, aktualisiert um 13:45 Uhr
Moin,
Zitat von miichiii9:

ja aber wie will ich dort mein Code einfügen?
mal als Beispiel:
(du musst halt auch berücksichtigen das die Felder, wenn sie denn nachher übermittelt werden sollen jeweils separate Namen und id's bekommen sollten, was im Beispiel mit einem Counter gemacht wird)
01.
<!doctype html> 
02.
<html> 
03.
<head> 
04.
<meta charset="utf-8"> 
05.
<title>Test</title> 
06.
</head> 
07.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
08.
<script type="text/javascript"> 
09.
var counter = 1; 
10.
function addControls(el){ 
11.
	var parentDiv = $(el).parent(); 
12.
	var newline = parentDiv.clone(); 
13.
	newline.children('input[name^="name"]').attr("name","name" + counter).attr("id","name" + counter); 
14.
	newline.insertAfter(parentDiv); 
15.
	counter++; 
16.
17.
function removeControls(el){ 
18.
	if($("#myform div").length > 1){ 
19.
		$(el).parent().remove(); 
20.
	}else{ 
21.
		alert("Diese Zeile kann nicht gelöscht werden");	 
22.
23.
24.
</script> 
25.
<body> 
26.
<form action="neuesfeld.html" method="post" id="myform"> 
27.
<div class="controlLine"> 
28.
<label for="name">Name</label> 
29.
<input type="text" name="name0" id="name0" required> 
30.
<select> 
31.
<option>Radiobutton</option> 
32.
<option>Checkbox</option> 
33.
<option>Textfeld</option> 
34.
<option>Textarea</option> 
35.
<option>Select (Dropdown)</option> 
36.
<option>Password</option> 
37.
</select>&Uuml;berpr&uuml;fung<select> 
38.
<option>Zahlen</option> 
39.
<option>Textl&aml;nge</option> 
40.
<option>Datum</option> 
41.
</select> 
42.
<input type="button" value="Hinzufügen" onClick="addControls(this)" /> 
43.
<input type="button" value="Löschen" onClick="removeControls(this)" /> 
44.
</div> 
45.
</form> 
46.
</body> 
47.
</html>
Grüße Uwe
Bitte warten ..
Mitglied: miichiii9
27.03.2014, aktualisiert um 16:20 Uhr
var parentDiv = $(el).parent();
var newline = parentDiv.clone();
newline.children('input[name^="name"]')

Könntest du mir vielleicht diese Zeilen genauer erklären? Was da genau Passiert.
Bitte warten ..
Mitglied: colinardo
27.03.2014, aktualisiert um 13:41 Uhr
Zitat von miichiii9:
var parentDiv = $(el).parent();
Holt sich eine Referenz des DIV-Containers in dem sich die Controls befinden
var newline = parentDiv.clone();
Dieser DIV-Container wird im Speicher dupliziert und der Variablen newline zugewiesen
newline.children('input[name^="name"]')
hier wird für das Name-Input-Textelement im geklonten DIV jeweils der Name und die ID neu gesetzt, da ansonsten beim Klonen doppelte Namen und IDs im Quellcode vorhanden wären ....
Hierzu input[name^="name"] siehe: http://api.jquery.com/attribute-starts-with-selector/
Bitte warten ..
Mitglied: miichiii9
31.03.2014 um 16:55 Uhr
Zitat von colinardo:
newline.children('input[name^="name"]')

Gibt es auch eine möglichkeit den namen des DIVs zu ändern, also zu nummerieren?
Bitte warten ..
Mitglied: colinardo
31.03.2014, aktualisiert um 17:25 Uhr
Zitat von miichiii9:

> Zitat von colinardo:
> newline.children('input[name^="name"]')

Gibt es auch eine möglichkeit den namen des DIVs zu ändern, also zu nummerieren?

sicher dat:
newline.attr("id",'deinName' + counter);
jquery ist nicht schwer, man muss es nur mal
lesen: http://api.jquery.com/attr/
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Outlook & Mail
Signatur im HTML Format zu VBS Scribt hinzufügen (2)

Frage von Galipoli zum Thema Outlook & Mail ...

Firewall
gelöst Sophos UTM 9 HTML 5 RDP (1)

Frage von maddig zum Thema Firewall ...

Windows Server
gelöst Zusätzlichen Windows Server 2012R2 Domänencontroller hinzufügen (5)

Frage von Mar-west zum Thema Windows Server ...

Sicherheit
gelöst Libreoffice Makros deaktivieren - Button fehlt in LO 5 (2)

Frage von Der-Phil zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...