klausschreiber
Well-known member
- 6 Mai 2006
- 247
- 8
Hallo,
Ich habe ein Uploadformular, wo ich vorher nicht weiß, wieviele Uploadfelder benötigt werden. Damit der User nicht immer auf "Uploadfeld hinzufügen" oder ähnlichen klicken muss, soll automatisch ein weiteres Uploadfeld erscheinen, wenn man ein Uploadfeld ausfüllt. DIes geschieht mittels "onclick", was bei dem mittels html erstellten Feld auch wunderbar funktioniert. Ich bekomme es jedoch nicht hin, dass JavaScript bei den weiteren Feldern auch das onclick-Attribut hinzufügt. Ich habe leider fast gar keine Ahnung von JavaScript und hatte mir das aus dem Internet zusammengesucht.
Meine JavaScript Funktion:
Das "newField.onclick = 'addField();';" funktionierte nicht. Nach weiterer Suche fand ich dann heraus, dass folgendes im Firefox geht:
(anstatt "newField.onclick = 'addField();';")
Im Internet Explorer geht es jedoch leider trotzdem nicht.
Falls benötigt, html-Ausschnitt:
Würde mich freuen, wenn mir jemand helfen könnte.
Gruß,
Klaus
Ich habe ein Uploadformular, wo ich vorher nicht weiß, wieviele Uploadfelder benötigt werden. Damit der User nicht immer auf "Uploadfeld hinzufügen" oder ähnlichen klicken muss, soll automatisch ein weiteres Uploadfeld erscheinen, wenn man ein Uploadfeld ausfüllt. DIes geschieht mittels "onclick", was bei dem mittels html erstellten Feld auch wunderbar funktioniert. Ich bekomme es jedoch nicht hin, dass JavaScript bei den weiteren Feldern auch das onclick-Attribut hinzufügt. Ich habe leider fast gar keine Ahnung von JavaScript und hatte mir das aus dem Internet zusammengesucht.
Meine JavaScript Funktion:
PHP:
function addField() {
var newField = document.createElement('input');
newField.type = 'file';
newField.name = 'file[]';
newField.id = 'file[]';
newField.size = '77';
newField.onclick = 'addField();';
var newLine = document.createElement('br');
document.getElementById('uploadfields').appendChild(newLine);
document.getElementById('uploadfields').appendChild(newField);
}
PHP:
newField.setAttribute("onclick","addField();");
Im Internet Explorer geht es jedoch leider trotzdem nicht.
Falls benötigt, html-Ausschnitt:
HTML:
<form action="{$_SERVER['PHP_SELF']}" id="uploadform" enctype="multipart/form-data" method="post">
...
<div id="uploadfields">
<input type="file" name="file[]" onclick="addField();" id="file[]" size="77" />
</div>
...
</form>
Gruß,
Klaus