-
Q:
Button vraagje
Goedendag,
Ik heb een button die er als volgd uit ziet:
[code:1:6f0aad848c]<input type="submit" name="button_winkelwagen" value="plaats" style="background: url(images/leginwinkelwagen_btn.gif); width:176px; height:29px; border:0;"/>[/code:1:6f0aad848c]
De button werkt prima en ziet er ook goed uit. Het enige probleem is dat de value nu over het plaatje heen komt te staan. En ik kan deze niet weg laten omdat ik deze nodig heb om te kijken op welke knop er wordt gedrukt (zijn er meerdere namelijk, vandaarom dit probleem ook) met de volgende code:
[code:1:6f0aad848c]if ($_POST[’button_winkelwagen’] == "plaats")[/code:1:6f0aad848c]Wie kan me helpen?
InactiefAnoniem16 september 2008 om 12:43Kan het niet zo zijn dat je van value een id moet maken?
Omdat value in een button er altijd bovenop komt te staan?zo bedoel je dus? [code:1:a72926b393]<input type="submit" name="button_winkelwagen" value="plaats" style="background: url(images/leginwinkelwagen_btn.gif); width:176px; height:29px; border:0;" onCLick="submit();">[/code:1:a72926b393]
Dat werkt ook niet… omdat die nu niet weet dat er dit gesubmit word :
[code:1:a72926b393]if ($_POST[’button_winkelwagen’] == "plaats")[/code:1:a72926b393]
Mijn vraag is gewoon eigenlijk hoe kan ik bovenstaande code laten werken als er op een plaatje wordt geklikt.
Mannen bedankt voor jullie antwoorden maar ik ben er nog steeds niet uit.
Hoe krijg ik het voor elkaar dat als ik op een plaatje druk onderstaand stukje php word uitgevoerd:
[code:1:ba5f6adfa2]if ($_POST[’button_winkelwagen’] == "plaats") { hier komt php }[/code:1:ba5f6adfa2]Dit werkt wel netjes maar hier staat de value over de button heen:
[code:1:ba5f6adfa2]<input type="submit" name="button_winkelwagen" value="plaats" style="background: url(images/leginwinkelwagen_btn.gif); width:176px; height:29px; border:0; cursor: pointer;"/>[/code:1:ba5f6adfa2]Als ik het type verander van submit naar image werkt het helemaal goed in Firefox / safari maar kent IE er niets mee….
PHP wordt niet uitgevoerd doordat je op een button klikt….vermits je een AJAX call doet.
Je koppelt een onclick aan een <img>, deze voert vervolgens een javascriptje uit, of submit gewoon direct het formulier. Als je die controle van jou wilt gebruiken, kun je ook een hidden input veld maken met als naam ‘button_winkelwagen’ en als waarde ‘plaats’. Wat volgens mij overbodig is, aangezien je ook enkel kunt kijken of je POST data binnenkrijgt, tenzei je verschillende dingen naar dezelfde PHP file post, maar dat terzijde.
”Tomaat”PHP wordt niet uitgevoerd doordat je op een button klikt….vermits je een AJAX call doet.
Er vanuit gaand dat hij deze button in een form heeft gezet wordt wel degelijk php code uitgevoerd. Hij heeft een namelijk een submit. Wat ik bedoelde met een button is dat hij de javascript functie hierin plaatst zoals Tomaat het aangaf (lees:onclick=”document.forms[0].submit(); ).
Wat ik heb is een form met daarin een dropdown menu met opties en een dropdown menu met aantallen. Zodra je een optie selecteer en een aantal word er automatisch een prijs berekend. (ik heb een functie geschreven die dat doet.) Zodra je dus iets selecteert doe ik een onchange=”this.form.submit();” zodat de prijs steeds wordt berekend aan de hand van wat je selecteert.
Als je klaar bent met selecteren wil ik via een button alles in de winkelwagen gooien. Dit staat allemaal beschreven onder [code:1:ad0bb0c47e]if ($_POST[’button_winkelwagen’] == "plaats")[/code:1:ad0bb0c47e]
Ik weet gewoon niet hoe ik d.m.v. een plaatje dat stukje script kan oproepen op m’n pagina..
Ik zie het probleem niet helemaal hieronder even een kort testje en dit werkt prima ook in firefox.
[code:1:ec1fcc2192]
<?php if (isset($_POST[’verzenden’])){
echo "Ola";
}
?>
<form action="<?php echo $_SERVER[’PHP_SELF’]; ?>" method="post">
<input type="image" src="BTN_verstuur.png" value="Submit" name="verzenden" />
</form>[/code:1:ec1fcc2192]Als ik var_export($_POST); boven jou scriptje zet dan wordt er na het posten dit geprint in IE:
[code:1:7dff4bb2e0]array ( ‘verzenden_x’ => ’78’, ‘verzenden_y’ => ’13’, ) [/code:1:7dff4bb2e0]
Terwijl als ik in Firefox kijk het dit is:
[code:1:7dff4bb2e0]array ( ‘verzenden_x’ => ‘115’, ‘verzenden_y’ => ‘6’, ‘verzenden’ => ‘Submit’, )[/code:1:7dff4bb2e0]IE gaat hier gewoon heel anders mee om…
Wat jij zei doe ik altijd zo als ik een formuliertje heb met 1 knop:
[code:1:a687996e16]<?
if ($_SERVER[’REQUEST_METHOD’] == "POST"){
echo "Ola";
}
?><form action="" method="post">
<input type="image" src="leginwinkelwagen_btn.gif" value="Submit" name="verzenden" />
</form>[/code:1:a687996e16]Nu werkt het wel perfect. De pagina kijkt of er iets wordt gepost en gaat dan het scriptje uitvoeren. Maar ik kan deze optie niet gebruiken omdat sommige delen pas mogen worden uitgevoerd nadat er op de knop leg in winkelwagen wordt geklikt. En niet de optie / aantal knop……
Oke dan zo:
[code:1:b42ce75cd5]<?php
if (isset($_POST[’verzenden1_x’])){
echo "Knop1";
}
if (isset($_POST[’verzenden2_x’])){
echo "Knop2";
}
?>
<form action="<?php echo $_SERVER[’PHP_SELF’]; ?>" method="post">
<input type="image" src="BTN_verstuur.png" value="Submit" name="verzenden1" />
<input type="image" src="BTN_verstuur.png" value="Submit" name="verzenden2" />
</form>[/code:1:b42ce75cd5]
Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.