kostenloser Webspace werbefrei: lima-city


AJAX: Probleme mit Post

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    stivo

    Kostenloser Webspace von stivo, auf Homepage erstellen warten

    stivo hat kostenlosen Webspace.

    ich habe mir eine ajax funktion geschrieben, die GET und POST unterscheiden kann.
    wenn daten durch post übermittelt werden sollen, übergibt man an die funktion die id des formulars und die funktion durchläuft dann alle <input>-felder innerhalb des formulars und gibt die daten dann weiter...

    ein formular könnte z.b. so aussehen:
    <form name='form_nachricht' method='post' action=''>
    <input type='text' name='betreff' id='form_nachricht_1'/>
    <textarea name='text' id='form_nachricht_2'></textarea>
    </form>


    das javascript, das die post-daten zusammensetzt sieht so aus:
    // die variable "formular" wird per parameter an die funktion übergeben und enthält die id des formulars, hier also "form_nachricht"
    
    if((methode == "POST") && formular) {
    
      var nr = 0, post = "";
      var element;
    
      // Alle <input>-Felder im Formular durchlaufen
      while(nr++ < 100) {
    
        if(!(element = document.getElementById(formular + "_" + nr))) break;
        
        if(post) post = post + "&";
        post = post + element.name + "=" + element.value;
      
        }
    
      }


    dieses script funktioniert zwar, wenn aber im formular ein fehler gemacht wurde und man die id-eines <input>-felds falsch angibt, bricht die schleife ab und es werden nicht alle parameter übergeben.

    gibt es eine andere möglich keit alle input-, textarea-, checkbox-, felder etc. mit einer schleife zu durchlaufen?


    Beitrag geändert: 9.9.2008 19:47:17 von stivo






    mit folgendem code habe ich es jetzt doch noch geschafft:

    if((methode == "POST") && formular) {
    
      var post = "";
    
      // Alle <input>-Felder im Formular durchlaufen
      var elemente = document.forms[formular].elements;
      
      for(i = 0; i < elemente.length; i++) {
    
        if(post) post = post + "&";
        post = post + elemente[i].name + "=" + elemente[i].value;
        
        }
      
      }



    Beitrag geändert: 19.9.2008 17:30:46 von ferdinand24
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!