Formularüberprüfung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Formularüberprüfung

    Hallo Coder,

    eigentlich traue ich mich garnicht dieses Thema nochmal anzuschneiden, da es schon millionenfach im WWW besprochen wurde. Aber alles was ich finde trifft nicht auf mein Formular zu. Ich habe folgendes Script:


    Quellcode

    1. function WeiteresTemplateImageFeldEinfuegen(objButton)
    2. {
    3. tmpNode = objButton.form.elements[0].parentNode.cloneNode(true);
    4. tmpNode.getElementsByTagName('input')[1].style.display='inline';
    5. tmpElm=document.createElement('input');
    6. tmpElm.type=objButton.form.elements[0].type;
    7. tmpElm.name=objButton.form.elements[0].name;
    8. tmpElm.size=objButton.form.elements[0].size;
    9. tmpNode.replaceChild(tmpElm,tmpNode.getElementsByTagName('input')[0]);
    10. objButton.form.insertBefore(tmpNode,objButton);
    11. }
    12. function TemplateImageFeldLoeschen(obj)
    13. {
    14. obj.form.removeChild(obj.parentNode);
    15. }
    Alles anzeigen

    Quellcode

    1. <form name"temp_image_upload" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" onSubmit="return checkFormUpload();">
    2. <div>
    3. <input name="pictures[]" type="file" size="50">
    4. <input type="button" onClick="TemplateImageFeldLoeschen(this)" value="Löschen" style="display:none">
    5. </div>
    6. <input value="Weiteres Bild hinzufügen" onClick="WeiteresTemplateImageFeldEinfuegen(this)" type="button"><br>
    7. <input type="submit" name="speichern" value="Speichern" onClick="ProgressbarAnzeigen('block');">
    8. </form>


    der upload erfolgt über eine foreach-Schleife

    Quellcode

    1. foreach ($_FILES["pictures"]["error"] as $key => $error)


    Durch die function WeiteresTemplateImageFeldEinfuegen() werden weitere Div-Kontainer mit weiteren Input-Fields erstellt.

    Nun habe ich versucht das pictures[]-Feld folgendermaßen zu überprüfen:

    Quellcode

    1. function checkFormUpload()
    2. {
    3. if (document.temp_image_upload.pictures[0].value=="")
    4. {
    5. alert ("Bitte wählen Sie eine Datei aus!");
    6. document.temp_image_upload.pictures[0].focus();
    7. return false;
    8. }
    9. }


    Was aber nicht funktioniert. Ich möchte auch nur das erste Feld prüfen.
    Was mache ich falsch? Habe von JS leider keine ahnung! :cry:
  • Moin moin

    Das funktioniert meines Wissens nur mit dem IE.
    Firefox unterstützt kein getElementById().

    Mfg

    edit:
    Ok scheint nicht zu Stimmen
    Nur ältere Browser kennen die Methode nicht
    Ubuntu Edgy * Kernel 2.6.17 * Gnome 2.16 * Beryl
    2 x Athlon MP 1900 * MSI K7D Master-L * 1024 MB ECC DDR333
    Hercules 9800XT 256 MB Ram * 1x 250 GB IDE
    Wasserkühlung