variablen namen zusammenbasteln
honk
- javascript
so die suche hab ich benutzt aber nix gefunden oder ich hab nicht die passenden stichworte gefunden naja wie auch immer
also mein problem :
ich hab 15 eingabefelder input typ text
wovon drei immer zusammen gehören erste anzahl, zweite bezeichnung,dritte ist preis
also 5 zeilen je drei felder
und alle werden mit php ausgegeben und bennannt
anzahl1 ,bezeichnung1 ,preis1
anzahl2 ,bezeichnung2 ,preis2
..etc
wie gesagt drei felder pro zeile
nur wie kann ich alle in einer schleife auslesen?
ich habe versucht mir den namen der felder in in js nachzubilden
so
for(var i = 1; i < 5; i++){
var ano=document.forms[myFormA].elements["anzahla"+i].value ;
var bezo=document.forms[myFormA].elements["bezeichnunga" + i].value;
var epo=document.forms[myFormA].elements["stueckpreisa" + i].value ;
zgp+=ano*epo;
}
ich hat die gänsefüsschen auch schon durch einfache ersetzt und alles in runde klammern gepackt (inerhalb der eckigen)
aber es will und will ned klappen ich sitz nu schon 8 stunden dadran und kann nix machen/finden was des prob löst.
oder wie man so die namen der felder zusammen bauen kann
.
weiss jemand wie man sowas macht oder hat ne idee nen link oder irgentwas?
mfg
honk
Hi,
var ano=document.forms[myFormA].elements["anzahla"+i].value ;
wozu dienen die Backslashes da?
Cheatah
Hi,
var ano=document.forms[myFormA].elements["anzahla"+i].value ;
wozu dienen die Backslashes da?
Cheatah
die sind da weil der js code von php per echo ausgegeben wird sonst php mack nur escapte " in echo zeilen
Hi,
die sind da weil der js code von php per echo ausgegeben wird sonst php mack nur escapte " in echo zeilen
*seufz* wie oft muss in diesem Forum eigentlich noch gesagt werden, dass es keinen, wirklich *gar keinen*, nicht den allerallergeringsten Sinn macht, bei clientseitigen Problemen irgendwelchen serverseitigen Code zu posten? Der Browser sieht keinen PHP-Code, verdammich! Warum irritierst Du uns also damit?
Poste bitte *relevanten* Code, nicht irgendein willkürliches Gemisch.
Cheatah
Hi,
*seufz* wie oft muss in diesem Forum eigentlich noch gesagt werden, dass es keinen, wirklich *gar keinen*, nicht den allerallergeringsten Sinn macht, bei clientseitigen Problemen irgendwelchen serverseitigen Code zu posten? Der Browser sieht keinen PHP-Code, verdammich! Warum irritierst Du uns also damit?
Poste bitte *relevanten* Code, nicht irgendein willkürliches Gemisch.
Cheatah
»»
also der code ist doch relevant is doch java script gewesen ...ja gut nächstes mal nehm ich die backslashes raus wenns dann verständlicher ist an mir solls da ned liegen.ich dacht des wäre allgemein bekannt.
:)
mfg honk
Moin!
also der code ist doch relevant is doch java script gewesen ...ja gut nächstes mal nehm ich die backslashes raus wenns dann verständlicher ist an mir solls da ned liegen.ich dacht des wäre allgemein bekannt.
Poste nicht das, was du glaubst, dass dein Skript zusammensetzt, sondern poste, das, was als Quellcode im Browser angekommen ist! Denn wenn irgendetwas im Browser nicht funktioniert, liegt es an _diesem_ Quellcode.
Die Rückwirkungen von Korrekturen des Browser-Quellcodes in serverseitigen Skriptcode wirst du dann vermutlich allein hinkriegen.
- Sven Rautenberg
so die suche hab ich benutzt aber nix gefunden oder ich hab nicht die passenden stichworte gefunden naja wie auch immer
also mein problem :
ich hab 15 eingabefelder input typ text
wovon drei immer zusammen gehören erste anzahl, zweite bezeichnung,dritte ist preisalso 5 zeilen je drei felder
und alle werden mit php ausgegeben und bennannt
anzahl1 ,bezeichnung1 ,preis1
anzahl2 ,bezeichnung2 ,preis2
Du kannst einfach alle so ausgeben:
anzahl ,bezeichnung ,preis
anzahl ,bezeichnung ,preis
anzahl ,bezeichnung ,preis
anzahl ,bezeichnung ,preis
und dann kommst du mit
document.forms['nameDesFormulars']['anzahl'].length an die anzahl der einzelnen Felder
und greifst so darauf zu:
var anzahl_felder = document.forms['nameDesFormulars']['anzahl'];
for(var i = 0; anzahl_felder[i]; i++)
{
alert(anzahl_felder[i]);
}
die Variante ist wesentlich Wartungsfreundlicher, hat aber den Nachteil, dass sie nicht funktioniert, wenn es nur eine Zeile gibt.
..etc
wie gesagt drei felder pro zeilenur wie kann ich alle in einer schleife auslesen?
ich habe versucht mir den namen der felder in in js nachzubilden
so
for(var i = 1; i < 5; i++){var ano=document.forms[myFormA].elements["anzahla"+i].value ;
var bezo=document.forms[myFormA].elements["bezeichnunga" + i].value;
var epo=document.forms[myFormA].elements["stueckpreisa" + i].value ;
ich vermute mal (du kennst http://glasgoogle.de?) das myFormA falsch ist.
Struppi.
Du kannst einfach alle so ausgeben:
anzahl ,bezeichnung ,preis
anzahl ,bezeichnung ,preis
anzahl ,bezeichnung ,preis
anzahl ,bezeichnung ,preisund dann kommst du mit
document.forms['nameDesFormulars']['anzahl'].length an die anzahl der einzelnen Felder
und greifst so darauf zu:
var anzahl_felder = document.forms['nameDesFormulars']['anzahl'];
for(var i = 0; anzahl_felder[i]; i++)
{
alert(anzahl_felder[i]);
}die Variante ist wesentlich Wartungsfreundlicher, hat aber den Nachteil, dass sie nicht funktioniert, wenn es nur eine Zeile gibt.
ich vermute mal (du kennst http://glasgoogle.de?) das myFormA falsch ist.Struppi.
erstmal danke für die antwort klappt wunderbar nur wirft das ein neues problem auf:
also ich hab alle felder gleich benannt also alle anzahlfelder heissen jetzt auch anzahl ,alle bezeichnung ....(also name='anzahl' etc..)
gut ich kann sie jetz schön verarbeiten mit js Aber wenn ich das formular abschicken will überschreiben sich die variablen gegenseitig sprich von sagen wir fünf feldern bekomme ich nur den wert des letzten feldes wenns denn einen hat.
weil sie ja jetzt alle gleich heissen.
wenn ich sie wieder umbennenen würde hab ich wieder das gleiche problem wie vorher.
man könnte sagen ich brauche eine technik die so funktioniert wie die die du gepostet hast nur das sie auf unterschiedliche feldnamen anwendbar sein muss.
also vom prinzip her
z.b
for (var i ;i<5;i++){
var x='feldname'+i;(dann müsste x ja gleich "feldname0" sein)
var y=document.myFormA.x.value;(da x ja nu den feldnamen enthält musste ich die doch auch auslesen können)
}
sowas in der art nur in richtig bräucht ich dann wohl
achja myFormA ist der name meines formulars und glasgoogle kenn ich nicht allerdings kann ich www.glasgoogle.de auch ned aufrufen.
mfg honk
gut ich kann sie jetz schön verarbeiten mit js Aber wenn ich das formular abschicken will überschreiben sich die variablen gegenseitig sprich von sagen wir fünf feldern bekomme ich nur den wert des letzten feldes wenns denn einen hat.
weil sie ja jetzt alle gleich heissen.
wenn ich sie wieder umbennenen würde hab ich wieder das gleiche problem wie vorher.
Das sollte eigentlich nicht so sein. Zumindest unter Perl bekommst du mit:
my @anzahl = param('anzahl');
das komplette Array der Felder und das sollte auch in PHP so gehen.
achja myFormA ist der name meines formulars und glasgoogle kenn ich nicht allerdings kann ich www.glasgoogle.de auch ned aufrufen.
<www.glasgoogle.de> funzt bei mir wunderbar