Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Toast

Tripel-As

Dabei seit: 02.01.2011

Beiträge: 210

 

1 Zum Seitenanfang

Samstag, 14. Januar 2012, 22:49

[JS] Vermutlich einfache Frage (Variable in Elementansprache)

Hi...

mir wollte keine richtige Formulierung für den Titel einfallen. Nen kurzes Problem und wahrscheinlich ist es auch noch leicht. Leider habe ich keine konkrete Idee, wie ich mein Problem löse. Ich möchte quasi folgendes (radikal verkürztes) Skript verwirklichen (so ist es ja falsch):

Javascript-Quelltext

1
2
3
for(var i=0;i<=15;i++)  {
    chk = document.test.position+i.selectedIndex;
}


Falls man nicht draus schlau wird. Ich möchte dass die Variable chk nacheinander die Werte von document.test.position1.selectedIndex, document.test.position2.selectedIndex, ...
annimmt. Bin mir sicher, dass dies irgendwie geht.

Liebe Grüße,

Toast

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Toast« (14. Januar 2012, 22:49)

 

Deffcon

König

Dabei seit: 11.11.2010

Beiträge: 897

 

2 Zum Seitenanfang

Sonntag, 15. Januar 2012, 10:47

Also nach der Variable muss auf jeden Fall noch ein plus.

Javascript-Quelltext

1
2
3
for(var i=0;i<=15;i++)  {
    chk = document.test.position+i+.selectedIndex;
}


Und dann willst du ja sicher noch was machen bevor die Variable den nächsten Wert annimmt. Aber das ist ja nur dein verkürztes Script.
 

Toast

Tripel-As

Dabei seit: 02.01.2011

Beiträge: 210

 

3 Zum Seitenanfang

Sonntag, 15. Januar 2012, 12:21

Ok... das wäre nen ziehmlich dummer Fehler meinerseits gewesen. Leider funktioniert das ganze immer noch nicht. Daher mal ne größere Form der Skripte. Vielleicht steckt ja noch woanders ein Fehler...

Das Javaskript:

  Spoiler Spoiler

Javascript-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script type="text/javascript">
function zwischensumme()
{
  var kos=0;
  var stck=0;
  var rab=0;
  var chk=0;
  for(var i=0;i<=9;i++)  {
    kos = document.getElementById('kos'+i).value;
    stck = document.getElementById('stck'+i).value;
    rab = document.getElementById('rab'+i).value;  
    chk = document.test.position+i+.selectedIndex;
  if(chk!=0){
    document.getElementById('zwi'+i).value = Math.round(kos*stck*(100-rab))/100;
  }
  else{
    document.getElementById('zwi'+i).value = 0;
  }
  }    
}
</script>


Das PHP-Skript:

  Spoiler Spoiler

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<form name="test" action="">
<?php
for($i=0;$i<=9;$i++){
  echo'<p>'.chr(10);
  echo'<label>Position '.$i.':</label>'.chr(10);
  echo'<select name="position'.$i.'" size="1" onClick="zwischensumme()"" onKeyUp="zwischensumme()">'.chr(10);
  echo'  <option>--- leer ---</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'  <option>Position 1</option>'.chr(10);
  echo'</select>'.chr(10);
  echo'<label>Kosten:</label><input type="text" maxlength="6" id="kos'.$i.'" onKeyUp="zwischensumme()"><label>&euro;</label>'.chr(10);
  echo'<label>Anzahl:</label><input type="text" maxlength="2" id="stck'.$i.'" onKeyUp="zwischensumme()"><label>Stck.</label>'.chr(10);
  echo'<label>Rabatt:</label><input type="text" maxlength="6" id="rab'.$i.'" onKeyUp="zwischensumme()"><label>%</label>'.chr(10);
  echo'<label>Wert:</label><input type="text" maxlength="6" id="zwi'.$i.'" readonly><label>&euro;</label>'.chr(10);
  echo'</p>'.chr(10);
?>
</form>


Was das ganze machen soll? Ich möchte quasi ein Rechnungsformular erstellen, was die Summen der einzelnen Positionen nach Rabattierung etc. während der Eingabe ausrechnet. Leider berechnet das Skript momentan gar nichts und das Feld bleibt leer. Ich tippe ja nach wie vor auf einen Einlesefehler. Aber keine Ahnung :P.
Kann mir jemand auch zufällig nen Funktion nennen, mit der ich angeben kann, dass ich immer zwei Nachkommastellen auch ausgegeben haben möchte?

Schon mal Danke soweit und liebe Grüße,

Toast
 

Deffcon

König

Dabei seit: 11.11.2010

Beiträge: 897

 

4 Zum Seitenanfang

Sonntag, 15. Januar 2012, 14:22

Runden auf 2 Nachkommastellen kannst du vor dem ausgeben mit

PHP-Quelltext

1
number_format("Variable/Zahl",2)


Den Rest schau ich mir heute Abend mal an wenn noch niemand geantwortet hat.
Muss erst mal mit den Drillingen raus, Gassi gehen :D
 

Thorsten Taplik

Grünschnabel

Dabei seit: 21.12.2011

Beiträge: 7

 

5 Zum Seitenanfang

Montag, 16. Januar 2012, 13:51

RE: [JS] Vermutlich einfache Frage (Variable in Elementansprache)

Javascript-Quelltext

1
chk = document.test.position+i.selectedIndex;

Diese Syntax ist natürlich Quatsch wie du schon selber vermutet hast.

Eine Möglichkeit, dein Problem zu lösen, falls du keine weiteren Selects auf der Seite hast, wäre folgende:

Fasse deine Selects in ein Array zusammen

Javascript-Quelltext

1
arrSelects = document.getElementsByTagName("select");

und greife sie in der For-Schleife einzeln ab.

Javascript-Quelltext

1
chk = arrSelects[i].selectedIndex;
 

Ähnliche Themen