tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
211
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Myar Myar ist offline Mitglied Silber
    Registriert seit
    Dec 2007
    Beiträge
    79
    Hallöchen!

    Ich habe ein Formular das möchte ich, nachdem ich über eine Dropdownliste einen z.B. Hersteller ausgewählt habe, mit seinen Konditionen aus der Db befüllen.

    Ich bin mittlerweile soweit, dass zumindest ein input Feld bfüllt wird. Jetzt steht da der Inhalt des Arrays drinne, dass die DB Abfrage per PHP ergeben hat.

    Das passiert nachdem readystate ==4 und status == 200
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    function handleServerResponse(){
        
        //liest die Meldung vom Server
        response = xmlHttp.responseText;
        //Werte anzeigen (jetzt müssen die Sachen einzelnd aus dem response
        document.getElementById('skonto').value = response;
        document.getElementById('name').value = 'einName';
        document.getElementById('grundrabatt').value = 'GR';
        document.getElementById('kobo').value = 'ein Kobo';
        document.getElementById('zebo').value = 'ein Zebo';
        document.getElementById('hausbonus').value = 'ein HR';
        //document.getElementById('ja').value = 'irgendwas'; -> wie ändere ich den checked Status?
    }

    Das PHP Script gibt erstmal das zurück
    PHP-Code:
    <?php
    //autoload Funktion um Klassen einzubinden
    require lib/autoload.php';

    $manuf = new manufacturers();
    $array = $manuf->getValues($_GET['
    manuid']);

    print_r($array);
    ?>
    Mein Formular:
    HTML-Code:
    <form action="" method="post">
    	<table>
    		<tr><td>Hersteller: <span id='name'></span></td></tr>
    		<tr><td>Skonto (in %):</td><td><input value='0' id='skonto' name='skonto' type='text' size="10" maxlength="10"></td></tr>
    		<tr><td>Grundrabatt (in %):</td><td><input value='0' id='grundrabatt' name='grundrabatt' type='text' size="10" maxlength="10"></td></tr>
    		<tr><td>Konzentrationsbonus (in %):</td><td><input value='0' id='kobo' name='kobo' type='text' size="10" maxlength="10"></td></tr>
    		<tr><td>Zentralregulierungsbonus (in %):</td><td><input value='0' id='zebo' name='zebo' type='text' size="10" maxlength="10"></td></tr>
    		<tr><td>Hausbonus (in %):</td><td><input value='0' id='hausbonus' name='hausbonus' type='text' size="10" maxlength="10"></td></tr>
    		<tr><td>EK Mitglied?:</td><td><input type="radio" name="mitglied" id='nein' value="nein"> Nein</td><td><input type="radio" id='ja' name="mitglied" value="ja" checked ='checked'>Ja</td></tr>
    		<tr><td><input type='submit' name='speichern' value='Speichern'
    		onclick='insertValues()'/></td></tr>
    	</table>
    </form>
    Und in dem input feld id='skonto' steht jetzt halt:
    Array ( [0] => Array ( [name] => EinName [skonto] => 2.00 [grundrabatt] => 2.00 [kobo] => 2.00 [zebo] => 2.40 [hausbonus] => 2.00 [ek_mitglied] => 1 ) )
    Joah, das muss ich nun in die anderen Felde rein bekommen und, die Radiobuttons müssen sich auch ändern.
    Wenn ek_mitglied = 0 muss radiobutton id="nein" checked sein und umgekehrt...

    Joah, da komme ich nicht weiter...

    Gruß
    Myar
     

  2. #2
    fpvz fpvz ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    74
    Naja, bei der Funktion, die du bei Änderung des Herstellers feuerst kannst du doch den aktuellen ek_mitglied abfragen, oder?

    Code :
    1
    2
    3
    
    if(array[0][ek_mitglied] == 0){
    document.getElementById("nein").checked = true;
    }

    Gruß
     

  3. #3
    Myar Myar ist offline Mitglied Silber
    Registriert seit
    Dec 2007
    Beiträge
    79
    Und wie bekomme ich das Array von PHP nach JS ?
     

  4. #4
    Myar Myar ist offline Mitglied Silber
    Registriert seit
    Dec 2007
    Beiträge
    79
    Huhu!

    Also ich habe nun heraus gefunden, dass ich mit json_encode das Array als String übergeben kann, der sieht nach etwas rumprobieren nun so aus:

    {"json":[{"name":"EinName","skonto":"2.00","grundrabatt":"2 2.00","kobo":"2.00","zebo":"20","hausbonus":"20. 00","ek_mitglied":"1"}]}
    PHP Code dazu:
    PHP-Code:
    $ergebnis $manuf->getValues($_GET['manuid']);
    $array = array('json' => $ergebnis);
    echo 
    json_encode($array); 
    Nach Stunden des googelns und rumprobieren sieht der JS Code nu so aus, funktioniert aber nicht und ich weiß nicht weiter...
    HTML-Code:
    response = xmlHttp.responseText;
      //Werte anzeigen (jetzt müssen die Sachen einzelnd aus dem response
      document.getElementById('skonto').value = response.json['skonto'];
    Kann mir da noch wer helfen?
    Geändert von Myar (19.10.11 um 22:11 Uhr)
     

  5. #5
    Myar Myar ist offline Mitglied Silber
    Registriert seit
    Dec 2007
    Beiträge
    79
    Okay, habs hinbekommen.
     

Ähnliche Themen

  1. Mehrere Formularfelder disablen
    Von kamstarr im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 31.05.09, 22:52
  2. Autocomplete mit scriptaculous in mehrere Formularfelder setzen
    Von swamp1001 im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 21.04.09, 08:47
  3. Antworten: 3
    Letzter Beitrag: 09.05.08, 11:08
  4. Zwischenablage in mehrere Formularfelder kopieren?!
    Von Superpet im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 20.02.04, 16:03
  5. formularfelder
    Von gremmlin im Forum CSS
    Antworten: 2
    Letzter Beitrag: 04.09.01, 16:25