Hallo alle miteinander!
ich muss für meinen Prof. einen Buchshop basteln und komme beim Warenkorb nicht weiter.
Ich lasse mit PHP aus einem Standartformular für jeden Titel den der Käufer in seinem Warenkorb zu liegen hat dynamisch ein Formular erstellen, mit dem er dann noch mehr Bücher des gleichen Typs kaufen kann oder aber das Buch löscht. Natürlich heißen dann alle Formulare gleich, bis auf einen angehängten index.
Um mir die Feldabfrage vor den Abschicken zu erleichtern habe ich "versucht" :-) den korbindex, welchen ich bei jedem neu angelegten Formular hochzählen, an die aufgerufene javaskript Funktion "onsubmit=\"return submitcheckwarenkorb($korbindex)" zu übergeben.
in der Funktion selber ist die Variable allerdings scheinbar nicht mehr bekannt. Dort nenne ich sie "function submitcheckwarenkorb(titel)" und möchte das die entsprechende Zahl in die if- Anweisungen an der entsprechenden Stelle eingefügt wird.
Wie ich die Variable allerdings einfüge hab ich noch nicht raus bekommen. Und ich habwirklich schon einiges versucht, aber es will nicht gelingen.
Hier etwas Quelltext zur Veranschaulichung:
Erst der PHP - Code
So und hier das dazugehörige JavaSkript
<script language="JavaScript1.2" type="text/JavaScript">
var abgeschickt = false;
function submitcheckwarenkorb(titel) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value == "") {
alert("Bitte eine Zahl eingeben!");
document.&warenkorbchange[titel].buchanzahlchangewk.focus();
return false;
}
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('1') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('2') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('3') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('4') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('5') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('6') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('7') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('8') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('9') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('0') == -1) {
alert("Bitte nur Zahlen von 0 bis 9 eingeben!");
document.warenkorbchange[titel].buchanzahchangelwk.focus();
return false;
}
}
}
}
}
}
}
}
}
}
if(abgeschickt == false) {
abgeschickt = true;
return true;
}
else {
return false;
}
}
//-->
</script>
An die Stelle wo ja die Zahl hin müsste hab ich mal ersatzhalber [titel] geschrieben. Aber da muss bestimmt was anderes hin.
Ich hoffe ich habe mich verständlich ausgedrückt und von euch weiß einer was ich besser machen kann.
Gruß MichaK.
ich muss für meinen Prof. einen Buchshop basteln und komme beim Warenkorb nicht weiter.
Ich lasse mit PHP aus einem Standartformular für jeden Titel den der Käufer in seinem Warenkorb zu liegen hat dynamisch ein Formular erstellen, mit dem er dann noch mehr Bücher des gleichen Typs kaufen kann oder aber das Buch löscht. Natürlich heißen dann alle Formulare gleich, bis auf einen angehängten index.
Um mir die Feldabfrage vor den Abschicken zu erleichtern habe ich "versucht" :-) den korbindex, welchen ich bei jedem neu angelegten Formular hochzählen, an die aufgerufene javaskript Funktion "onsubmit=\"return submitcheckwarenkorb($korbindex)" zu übergeben.
in der Funktion selber ist die Variable allerdings scheinbar nicht mehr bekannt. Dort nenne ich sie "function submitcheckwarenkorb(titel)" und möchte das die entsprechende Zahl in die if- Anweisungen an der entsprechenden Stelle eingefügt wird.
Wie ich die Variable allerdings einfüge hab ich noch nicht raus bekommen. Und ich habwirklich schon einiges versucht, aber es will nicht gelingen.
Hier etwas Quelltext zur Veranschaulichung:
Erst der PHP - Code
PHP-Code:
for($korbindex = 0; $korbindex < $anzahl; $korbindex++) {
echo "...
.
.
.
<form action=\"bookshop.php\" method=\"post\" name=\"warenkorbchange$korbindex\" target=\"_self\" id=\"warenkorbchange$korbindex\" onsubmit=\"return submitcheckwarenkorb($korbindex)\">
<table width=\"100\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr valign=\"baseline\">
<td width=\"20\">
<input name=\"buchanzahlchangewk\" type=\"text\" id=\"buchanzahlchangewk\" value=\"$buchanzahlwk\" size=\"2\" maxlength=\"1\"></td>
<td width=\"80\" align=\"right\">
<input name=\"isbnwk\" type=\"hidden\" va lue=\"$isbnwk\">
<input type=\"submit\" name=\"Submit\" value=\"ändern\"></td>
</tr>
</table>
</form>
.
.
.
...";
So und hier das dazugehörige JavaSkript
<script language="JavaScript1.2" type="text/JavaScript">
var abgeschickt = false;
function submitcheckwarenkorb(titel) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value == "") {
alert("Bitte eine Zahl eingeben!");
document.&warenkorbchange[titel].buchanzahlchangewk.focus();
return false;
}
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('1') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('2') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('3') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('4') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('5') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('6') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('7') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('8') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('9') == -1) {
if(document.warenkorbchange[titel].buchanzahlchangewk.value.indexOf('0') == -1) {
alert("Bitte nur Zahlen von 0 bis 9 eingeben!");
document.warenkorbchange[titel].buchanzahchangelwk.focus();
return false;
}
}
}
}
}
}
}
}
}
}
if(abgeschickt == false) {
abgeschickt = true;
return true;
}
else {
return false;
}
}
//-->
</script>
An die Stelle wo ja die Zahl hin müsste hab ich mal ersatzhalber [titel] geschrieben. Aber da muss bestimmt was anderes hin.
Ich hoffe ich habe mich verständlich ausgedrückt und von euch weiß einer was ich besser machen kann.
Gruß MichaK.
Kommentar