Formularfelder direkt ausfüllen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • AmicaNoctis
    antwortet
    Zitat von sepp Beitrag anzeigen
    Wenn ich nun noch die Summe aller ezpreis zusammenrechnen und in einem weiteren Feld ausgeben will wie muss ich da vorgehen?
    Du iterierst die Möglichen IDs durch und greifst dann auf [FONT="Courier New"]document.form1["ezpreis[" + id + "]"].value[/FONT] zu und addierst das innerhalb der Schleife in einer Variable auf.

    Gruß,

    Amica

    Einen Kommentar schreiben:


  • sepp
    antwortet
    Ja, alle Zeilen sehen , ausser der ID gleich aus!

    @wahsaga - das funktioniert so mit der erstren Zeile!

    @AmicaNoctis - Wenn ich den Wert mit an die Funktion übergebe funktioiert es einwandfrei!!

    Besten Dank für Eure kompetente Unterstützung

    N.B. Noch eine kleine Abschlussfrage:

    Wenn ich nun noch die Summe aller ezpreis zusammenrechnen und in einem weiteren Feld ausgeben will wie muss ich da vorgehen?
    Zuletzt geändert von sepp; 26.09.2009, 16:55.

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Oh, natürlich. Recht hast du, könnte aber trotzdem oder erst recht der Grund für den Fehler sein.

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Zitat von AmicaNoctis Beitrag anzeigen
    Eine von mehreren? Benutzen die anderen auch detail_id[]? Wenn ja, ist document.form1["detail_id[]"].value immer die der allerletzten Zeile.
    Nein, dann müsste document.form1["detail_id[]"] eine NodeList liefern - und würde selber gar kein value-Attribut haben.
    Dann muss zunächst ein nullbasierter Index verwendet werden, um auf eines der Felder, die diese NodeList referenziert, zuzugreifen.
    Code:
    document.form1["detail_id[]"][0].value; // value des ersten Feldes mit dem Namen detail_id[]

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Zitat von sepp Beitrag anzeigen
    Meint Ihr das? So wird eine Zeile ausgegeben
    Eine von mehreren? Benutzen die anderen auch detail_id[]? Wenn ja, ist document.form1["detail_id[]"].value immer die der allerletzten Zeile. Eventuell kommst du besser, wenn du per PHP diese ID mit an die rechne-Funktion übergibst:
    PHP-Code:
    onkeyup="rechne(<?php echo $detail_id;?>)"
    Ist aber nur ne Vermutung, da wir immer noch keinen Überblick haben. Mit den einzelnen Code-Fragmenten kommen wir hier bald nicht mehr weiter. Bitte den gesamten JS-Code und den HTML-Code für das gesamte Formular posten.

    Gruß,

    Amica

    Einen Kommentar schreiben:


  • sepp
    antwortet
    Ja, entschuldige natürlich hast DU den Fehler gefunden ich habe ihn nur korrigiert!
    HTML-Code:
    <tr bgcolor="#FFFFFF">
     <td><input type="hidden" name="detail_id[]" value="6">
    <input name="detail_menge[6]" type="text" onKeyUp="rechne()"  id="detail_menge" value="1" /></td>
     <td><input name="produkt[6]" type="text" id="produkt" value="artikel" /></td>
    <td><input type="text" onKeyUp="rechne()" value="298.50" name="stpreis[6]" ></td>
     <td><input type="text" disabled="disabled" value="298.5" name="ezpreis[6]" ></td>
    </tr>
    Meint Ihr das? So wird eine Zeile ausgegeben

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Zitat von sepp Beitrag anzeigen
    Danke ja genau da hat es noch einen leerschlag zuviel, aber dennoch bekomme ich die Fehlermeldung is null or not an oject!?

    Hatte schon Freude den Fehler mit dem Leerschlag gefunden zu haben ;-(
    Den Fehler hast nicht du gefunden! Statt dich immer noch zu beschweren, solltest du lieber mal lesen, was wahsaga geschrieben hat: Poste clientseitigen Code!

    Noch besser, du nimmst (oder installierst) einen JS-Debugger und gehst mal strukturiert an das Problem ran. Zur Not tun es auch ein paar sinnvoll eingestreute alert-Aufrufe.

    Einen Kommentar schreiben:


  • sepp
    antwortet
    Danke ja genau da hat es noch einen leerschlag zuviel, aber dennoch bekomme ich die Fehlermeldung is null or not an oject!?

    Hatte schon Freude den Fehler mit dem Leerschlag gefunden zu haben ;-(

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Zitat von wahsaga Beitrag anzeigen
    Wenn der Zugriff auf die anderen Felder über document.form1 klappt, dann gibt es keinen ersichtlichen Grund, warum das mit diesem Feld nicht auf die gleiche Weise gehen sollte.
    Doch, gibt es: da ist ein Leerzeichen zuviel (habs durch einen roten Unterstrich markiert):

    Code:
    <input type="hidden" name="detail_id[]" value="<? echo"$detail_id"; ?>[B][COLOR="Red"]_[/COLOR][/B]">

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Wenn der Zugriff auf die anderen Felder über document.form1 klappt, dann gibt es keinen ersichtlichen Grund, warum das mit diesem Feld nicht auf die gleiche Weise gehen sollte.

    Ausser vielleicht, dass du einen Fehler im HTML-Code hast - den du uns aber bisher immer noch nicht gezeigt hast, so wie er letztendlich aussieht, sondern immer irgendeinen PHP-Kram.
    Wenn du ein clientseitiges Problem hast, dann poste auch clientseitigen Code!

    Leider stimmt das so aber nciht da ich den Fehler bekomme das Feld sei leer oder undefiniert.
    Und Fehlermeldungen, so sie denn vom JavaScript-Interpreter kommen, bitte wörtlich zitieren, und nicht in Prosa umschreiben.

    Einen Kommentar schreiben:


  • sepp
    antwortet
    Als Test habe ich eine der ID's welche im Feld
    HTML-Code:
    <input type="hidden" name="detail_id[]" value="<? echo"$detail_id"; ?> ">
    ausgelesen wird, direkt eingetragen
    Code:
    function  rechne()
    {  
    	var Kontrolle =("105");
    		
    	document.form1["ezpreis[" + Kontrolle + "]"].value=
    	document.form1["stpreis[" + Kontrolle + "]"].value
    	*document.form1["detail_menge[" + Kontrolle + "]"].value
    
    }
    So kann ich die Zeile mit der ID 105 steuern wie gewünscht!
    Das heisst für mich die letzten 3 Befehlzeilen stimmen und funktionieren!

    Also muss ich nur noch die Variable Kontrolle mit der ID welche im Feld
    HTML-Code:
    <input type="hidden" name="detail_id[]" value="<? echo"$detail_id"; ?> ">
    steht füllen.

    Das versuchte ich woe folgt:
    Code:
    var Kontrolle =document.form1["detail_id[]"].value
    Leider stimmt das so aber nciht da ich den Fehler bekomme das Feld sei leer oder undefiniert.

    Nun die Frage: wie kann ich mittels JS das Feld
    HTML-Code:
    <input type="hidden" name="detail_id[]" value="<? echo"$detail_id"; ?> ">
    abfragen?

    Ich hoffe meine Erklärung war nun auch für alle verständlich. Ich wüsste nciht wie ich es anders beschreiben müsste - Danke

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    "umgesetzt aber auch ohne Erfolg" ... "zu Testzwecken, funktioniert alles" ... "nur noch das auslesen der Var Kontrolle ein Problem"


    Merkst du bitte selber, wie widersprüchlich dein Gefasel ist - und lieferst du anschliessend bitte mal ein brauchbare Problembeschreibung? Danke.

    Einen Kommentar schreiben:


  • sepp
    antwortet
    Habe es umgesetzt aber auch ohne Erfolg!
    Code:
    document.forms["form1"].elements["detail_id[]"].value;
    Generell habe ich das ganze nun so um gebaut


    Code:
    function  rechne()
    {  
    	var Kontrolle =document.form1["detail_id[]"].value
    		
    	document.form1["ezpreis[" + Kontrolle + "]"].value=
    	document.form1["stpreis[" + Kontrolle + "]"].value
    	*document.form1["detail_menge[" + Kontrolle + "]"].value
    
    }
    wenn ich also nun die Variable mit einer ID Nummer fülle, zu Testzwecken, funktioniert alles.

    Also ist nur noch das auslesen der Var Kontrolle ein Problem!

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    http://de.selfhtml.org/javascript/ob...tm#allgemeines
    - mit Verstand lesen
    - Schema 4 korrekt anwenden
    - fertig

    Einen Kommentar schreiben:


  • sepp
    antwortet
    Danke für die Hilfe aber da bekomme ich einen JS Fehler

    'document.form[...].value' is null or not an object

    Ich gebe das detail_id feld auch als Array aus, allerdings nicht referenziert also so
    HTML-Code:
    <input type="hidden" name="detail_id[]" value="<? echo"$detail_id"; ?> ">
    also habe ich das Beispiel erweitert...allerding auch ohne Erfolg

    Code:
    document.form.preis.value =
    	document.form["stpreis[" + document.form["detail_id[]"].value + "]"].value
    	* document.form.["detail_menge[" + document.form["detail_id[]"].value + "]"].value

    Nach weiteren Test habe ich folgendes heraus gefunden.
    HTML-Code:
    var Kontrolle =document.form1["detail_id[]"].value;
    		alert (Kontrolle);
    das Ergebins ist Kontrolle ist undefiniert!!!

    Das sollte doch so richtig sein um das Feld detail_[] abzufragen?!
    Zuletzt geändert von sepp; 26.09.2009, 13:51.

    Einen Kommentar schreiben:

Lädt...
X