![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Hi,
also ich habe aktuell das hier: Code:
<script type="text/javascript">
function addUploadField(div_id) {
document.getElementById(div_id).innerHTML += '<input class="images" type="file" name="images[]" size="35" /><br />';
}
</script>
Code:
<input type="file" name="images[]" size="35" />
<div id="upload_images"></div>
<a class="link" onClick="addUploadField('upload_images');">Weiteres Bild hochladen</a>
Nun würde ich gerne die Möglichkeit haben Felder auch wieder zu entfernen. Ich habe das folgendermaßen versucht. Code:
var count = 1;
function addUploadField(div_id) {
document.getElementById(div_id).innerHTML += '<input id="' + count + '" class="images" type="file" name="images[]" size="35" /> <a onClick="removeUploadField(\'upload_images\',' + count + ')">x</a><br />';
count++;
}
function removeUploadField(div_id, field_id) {
// ..
}
Danke für die Hilfe. |
|
|
|
|
|
Nach oben #2 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 662
|
Ich vermute mal, dass folgendes in etwa funktionieren sollte:
Code:
function removeUploadField (div_id, field_id)
{
var objectFields = document.getElementById (div_id).getElementsByTagName ('input');
for (var i = 0;
i < objectFields.count;
i++)
{
if (objectFields[i].type == 'file'
&& objectFields[i].id == field_id)
{
document.getElementById (div_id).removeChild (objectFields[1]);
}
}
}
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
|
|
|
|
|
Nach oben #3 |
|
Patrick Freitag
Registriert seit: 17.08.2005
Beiträge: 117
|
Oder einfach ganz simpel:
Code:
function removeUploadField(div_id, field_id) {
document.getElementById(div_id).removeChild(document.getElementById(field_id));
}
Code:
var count = 1;
function addUploadField(div_id) {
document.getElementById(div_id).innerHTML += '<div id="' + count + '"><input id="' + count + '" class="images" type="file" name="images[]" size="35" /> <a href="#" onclick="removeUploadField(\'test\',' + count + ')">x</a></div>';
count++;
}
function removeUploadField(div_id, field_id) {
document.getElementById(div_id).removeChild(document.getElementById(field_id));
}
__________________
ProDuc - Mein bescheidender Blog über JavaScript und Co. Geändert von Neq' (23.07.2008 um 10:12 Uhr). |
|
|
|
|
|
Nach oben #4 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Hi,
danke für die Antworten. Ich habe es noch nicht getestet, allerdings sehe ich nun auf den ersten Blick keinen Unterschied zwischen "mit div" und "ohne div", außer dass ich mir div-Suppe aufbaue! |
|
|
|
|
|
Nach oben #5 |
|
Patrick Freitag
Registriert seit: 17.08.2005
Beiträge: 117
|
Der Unterschied ist, dass dann deine Links mit dem "x" bestehen bleiben und nicht gelöscht werden. Wenn du keine div-Suppe haben möchtest, ließ dich in die DOM-Manipulation ein und erstelle direkt ein neues Input-Element mit ihren Attributen, ist sauberer.
__________________
ProDuc - Mein bescheidender Blog über JavaScript und Co. |
|
|
|
|
|
Nach oben #7 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 662
|
Hmm... Wenn ich so drüber nachdenke, ist es tatsächlich einfacher direkt über die passende ID das Input-Feld zu löschen, manchmal sieht man den Wald vor lauter Bäumen nicht...
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
|
|
|
|
|
Nach oben #8 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Wobei hier ja nochmals bemerkt werden sollte, dass es in meinem Fall nicht gereicht hat das input-Feld zu löschen, da dahinter ja noch ein Link war.
Aber ich find das Ganze gerade super interessant. Werd mir die Tage mal etwas Lesestoff im Bezug auf diesem DOM-Kram da raussuchen. |
|
|
|
|
|
Nach oben #9 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Morje,
mir fällt gerade Folgendes auf. Wenn ich in einem Uploadfeld bereits eine Datei ausgesucht habe und danach per JS ein weiteres Uploadfeld dazufüge ist die Dateiauswahl verschwunden. Kann man das irgendwie umgehen? Weil das ist nicht gerade nutzerfreundlich. Da hat man 10 Felder befüllt, merkt das man noch ein 11.Bild hat, klickt auf den Link und alle Felder sind leer. Danke! |
|
|
|
|
|
Nach oben #10 | |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Hallo,
ich denke, dass ich mein Problem gelöst habe. Zumindest läuft es gerade so, wie ich es gerne hätte. Zitat:
Sind meine ersten Schritte. Wenn es also noch elegantere, kürzere, bessere, ... Wege gibt, dann immer her damit. Und wenn da irgendwas sogar "falsch" dran sollte, dann bitte ich um rasche Berichtigung. Hab ja nicht den ganzen Tag Zeit, ne? PHP-Code:
Ich habe nun also trotzdem pro Feld ein div-Element. Aber ich hab das irgendwie nicht anders hinbekommen. So ganz 100%ig bin ich damit nicht zufrieden, aber 95% sind es schon. Das reicht erstmal. DENKSTE! Na, so leicht kommt ihr mich nicht davon. Denn Probleme gibt es immer noch, da mein toller Code nur im Firefox (2.x) läuft. Demnach: HELP! EDIT: Also, ich habe oben noch etwas geändert. Der remove-Link wurde vorher per onclick ausgelöst, nun mach ich das mittels href="javascript:removeUploadField(..)". Jetzt klappt es im FF (2.x), Opera und IE 6. Und nachdem ich den Safari mal aktualisiert habe, klappt es nun auch dort. Yippieh.
__________________
Mehr TuS Koblenz geht nicht ... Aktuell ... - Neue Gegner für die TuS: 1.FC Nürnberg - 5 neue Gegner 2008/09 - Informationsveranstaltung für Mitglieder - Förderkasse füllt sich - B-Jugend Rheinlandpokalfinale terminiert - A-Jugend I gewinnt Rheinlandpokal Geändert von Ben (25.07.2008 um 11:47 Uhr). |
|
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| type von hidden zu button bei input | lodee | JavaScript und AJAX | 5 | 05.10.2006 12:58 |
| [Umfrage] Hover Effekt: CSS oder Javascript | DER_Brain | Plauderecke | 27 | 12.09.2006 13:05 |
| Java und Javascript Entwickler gesucht | $traight-$hoota | Gesuche | 0 | 30.08.2006 18:47 |
| Eine Unix Distribution in Javascript.... | matt | Plauderecke | 16 | 25.06.2005 06:13 |
| Javascript durch php beschleunigen? | Heuni | PHP-Programmierung | 13 | 20.04.2005 09:36 |