php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
chkFormular() bei mehreren <form>


 
ServerHaus
03-01-2007, 03:19 
 
In meinem Shop werden auf der ersten Seite mehrere Artikel dargestellt.

Wenn ich nur einen Artikel pro Seite anzeige funktioniert es so Wunderbar!

<script type="text/javascript">
function chkFormular2()
{
if(Number(document.inWareknkrob.anzahl.value) > (document.inWareknkrob.nLagerbestand.value)){
alert("Bitte Bestellmenge korrigieren!");
document.inWareknkrob.anzahl.focus();
return false;
}
}
//-->
</script>

<form name="inWareknkrob" action="produkte.php" method="post" style="padding:0px;margin:0px;">
<input type="hidden" name="artikel" value="43">
<input type="hidden" name="kategorie" value="13">
<input type="hidden" name="nLagerbestand" value="100">
<input type="hidden" name="wke" value="1">
<input type="hidden" name="eSId" value="ba24b5e8839b92579a6994f7bca5b07d">
<input type="text" class="stueckzahl" name="anzahl" value="1"> <span class="standard">Stk.</span>
<br><img src="gfx/dummy.gif" width="1" height="6"><br>
<span class="lager"> Noch 100 Stk. auf Lager!</span>
<img src="gfx/dummy.gif" width="1" height="6"><br>
<input type="submit" value="in den Warenkorb" class="inWarenkorb" onClick="return chkFormular2();">
</form>

Kommt aber ein zweiter Artikel dazu klappt die Prüfung nicht mehr!

<script type="text/javascript">
function chkFormular2()
{
if(Number(document.inWareknkrob.anzahl.value) > (document.inWareknkrob.nLagerbestand.value)){
alert("Bitte Bestellmenge korrigieren!");
document.inWareknkrob.anzahl.focus();
return false;
}
}
//-->
</script>

<form name="inWareknkrob" action="produkte.php" method="post" style="padding:0px;margin:0px;">
<input type="hidden" name="artikel" value="43">
<input type="hidden" name="kategorie" value="13">
<input type="hidden" name="nLagerbestand" value="100">
<input type="hidden" name="wke" value="1">
<input type="hidden" name="eSId" value="ba24b5e8839b92579a6994f7bca5b07d">
<input type="text" class="stueckzahl" name="anzahl" value="1"> <span class="standard">Stk.</span>
<br><img src="gfx/dummy.gif" width="1" height="6"><br>
<span class="lager"> Noch 100 Stk. auf Lager!</span>
<img src="gfx/dummy.gif" width="1" height="6"><br>
<input type="submit" value="in den Warenkorb" class="inWarenkorb" onClick="return chkFormular2();">
</form>

<form name="inWareknkrob" action="produkte.php" method="post" style="padding:0px;margin:0px;">
<input type="hidden" name="artikel" value="39">
<input type="hidden" name="kategorie" value="13">
<input type="hidden" name="nLagerbestand" value="0">
<input type="hidden" name="wke" value="1">
<input type="hidden" name="eSId" value="ba24b5e8839b92579a6994f7bca5b07d">
<input type="text" class="stueckzahl" name="anzahl" value="1"> <span class="standard">Stk.</span>
<br><img src="gfx/dummy.gif" width="1" height="6"><br>
<span class="lager"> Noch 0 Stk. auf Lager!</span>
<img src="gfx/dummy.gif" width="1" height="6"><br>
<input type="submit" value="in den Warenkorb" class="inWarenkorb" onClick="return chkFormular2();">
</form>

Was ist an der Prüfung falsch?

Danke für Eure Hilfe

Gruss ServerHaus

 
wahsaga
03-01-2007, 08:52 
 
Zwei Formulare mit dem gleichen Namen sind wohl nicht allzu günstig, hm?

Btw: Schreibst du "Wareknkrob" eigentlich immer so ...?

 
Benny-one
03-01-2007, 08:52 
 
Du darfst den Formularnamen nicht zweimal verwenden.

Schreib nicht für jeden Artikel ein neues Formular, sondern schreib es immer in das vorhandene. Kannst du ja so machen <input type="hidden" name="artikel[43]" value="43">

wahsaga >_<

 
ServerHaus
03-01-2007, 11:24 
 
Btw: Schreibst du "Wareknkrob" eigentlich immer so ...?
Ja ist beabsichtigt so Suche ich den Shop im WWW!

<input type="hidden" name="artikel[43]" value="43">

Also die 43 in [] als auto Eintrag übergeben?

Danke

Gruss ServerHaus

 
TobiaZ
03-01-2007, 11:37 
 
naja, nen schritt weiter musst man da schon gehen. denn wenn du sämtliche artikelnummern im form sendest, hast du ja auch nichts von.

eher sowas:

<input type="text" name="artikel[43]" />

dann musst du die funktion (und auch alle weitere programmierung entsprechend anpassen, dass felder die 0 oder nichts enthalten ignoriert/übersprungen werden.

 
ServerHaus
03-01-2007, 12:22 
 
Also hab jetz folgendes gemacht:


<script type="text/javascript">
function chkFormular2()
{
if(Number(document.inWareknkrob.anzahl.value) > (document.inWareknkrob.nLagerbestand.value)){
alert("Fehler! \n\nDie von Ihnen eingegebene Menge, übersteigt den Lagerbestand!");
document.inWareknkrob.anzahl.focus();
return false;
}
}
//-->
</script>


Diesen Eintrag habe ich nur noch einmal:
<form name="inWareknkrob" action="produkte.php" method="post" style="padding:0px;margin:0px;">

Die Artikel werden so generiert:

<input type="hidden" name="artikel" value="2">
<input type="hidden" name="kategorie" value="1">
<input type="hidden" name="nLagerbestand" value="0">
<input type="hidden" name="wke" value="1">
<input type="hidden" name="eSId" value="9d5c2de3b6612cab4a0eb078d706fd16">
<input type="text" class="stueckzahl" name="anzahl" value="1"> <span class="standard">Stk.</span>
<br><img src="gfx/dummy.gif" width="1" height="6"><br>
<span class="lager"> Noch 0 Stk. auf Lager!</span>
<img src="gfx/dummy.gif" width="1" height="6"><br>
<input type="submit" value="in den Warenkorb" class="inWarenkorb" onClick="return chkFormular2();">
</form>

<input type="hidden" name="artikel" value="3">
<input type="hidden" name="kategorie" value="1">
<input type="hidden" name="nLagerbestand" value="0">
<input type="hidden" name="wke" value="1">
<input type="hidden" name="eSId" value="9d5c2de3b6612cab4a0eb078d706fd16">
<input type="text" class="stueckzahl" name="anzahl" value="1"> <span class="standard">Stk.</span>
<br><img src="gfx/dummy.gif" width="1" height="6"><br>
<span class="lager"> Noch 0 Stk. auf Lager!</span>
<img src="gfx/dummy.gif" width="1" height="6"><br>
<input type="submit" value="in den Warenkorb" class="inWarenkorb" onClick="return chkFormular2();">
</form>


Ich überprüfe ja eigentlich den nLagerbestand !

So geht's es wird aber immer die Fehlermeldung von Artikel 1 ausgegeben.

Das mit den [] verstehe ich nicht!

-archiv-

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:34 Uhr.