| Autor | Zpráva | ||
|---|---|---|---|
| Jan Profil |
#1 · Zasláno: 30. 4. 2010, 00:35:24 · Upravil/a: Jan
Ahoj
mám takovíto problém, mám select box, kterým si zvolím druh poštovného, tím e mi okamžitě po zvolení zobrazí částka poštovného, potřeboval bych ji ale v php sečíst s celkovou sumou zboží, takže potřebuji nějak ze select boxu dostat nějakou proměnou. zde je kod:
<select name="sel" onchange="zjisti(this);">
<option value="60">Předem na účet</option>
<option value="110">Dobírkou</option>
<option value="130">Obchodní balík</option>
<option value="0">Osobní předání</option>
</select>
<script>
function zjisti(policko){
var prvek=policko.options[policko.selectedIndex].value;
var objekt=document.getElementById("divek");
objekt.innerHTML=prvek;
}
</script>
<div id="divek" ></div>
A to to bych potreboval pro secteni zde :
<?php echo ($subTotal + $shopConfig['divek']); print (" Kč"); ?>
|
||
| bohyn Profil |
#2 · Zasláno: 30. 4. 2010, 00:44:09
Jan:
Předpokládám že formulář odesíláš přes post. <?php echo $subTotal + $shopConfig['divek'] + $_POST['sel']." Kč";?> Proč ten titulek? Nemůžeš se rozhodnout co je to z jazyk? |
||
| Jan Profil |
#3 · Zasláno: 30. 4. 2010, 00:49:38
Ne titulek je kvuli tomu ze stranka je psana v php a html a ktomu je pridany ten java skript pro zobrazovani postovneho.
Když jsem zkusil co jsi mi napsal píše mi to chybu Notice: Undefined index: sel in a cestu k souboru.... Proste nevim jak z toho maleho java skriptu vytahnout promenou/nebo ji vyrtovrit Dky za rady |
||
| Jan Profil |
#4 · Zasláno: 30. 4. 2010, 00:51:20 · Upravil/a: Jan
jedná se o řádek 148
zde je kod cele stranky
<?php
header("Content-Type: text/html; charset=utf-8");
?>
<body background="pozadi.gif">
<table style="width:890px;height:580px;" align="center" cellpadding="0px" cellspacing="0px" >
<tr>
<center>
<img src="img/0z3.png"></a>
</center>
</tr>
<tr>
<br>
<td style="height:25px;
width:15px;
background:url('img/tabulka/cor_lh.png') no-repeat ;"></td>
<td style="height:25px;
width:840px;
background:url('img/tabulka/top.png') repeat-x ;"></td>
<td style="height:25px;
width:15px;
background:url('img/tabulka/cor_ph.png') no-repeat ;"></td>
</tr>
<tr>
<td style="height:400px;
width:25px;
background:url('img/tabulka/left.png') repeat-y ;"></td>
<td>
<table background="pozaditabulky.gif" style="width:840px;height:580px;" cellpadding="0px" cellspacing="0px">
<td>
<?php
require_once 'library/config.php';
require_once 'library/cart-functions.php';
$action = (isset($_GET['action']) && $_GET['action'] != '') ? $_GET['action'] : 'view';
switch ($action) {
case 'add' :
addToCart();
break;
case 'update' :
updateCart();
break;
case 'delete' :
deleteFromCart();
break;
case 'view' :
}
$cartContent = getCartContent();
$numItem = count($cartContent);
$pageTitle = 'Shopping Cart';
require_once 'include/header.php';
// show the error message ( if we have any )
displayError();
if ($numItem > 0 ) {
?>
<form action="<?php echo $_SERVER['PHP_SELF'] . "?action=update"; ?>" method="post" name="frmCart" id="frmCart">
<table width="780" border="0" align="center" cellpadding="5" cellspacing="1" class="entryTable">
<tr class="entryTableHeader">
<td colspan="2" align="center">Zboží</td>
<td align="center">Cena</td>
<td width="75" align="center">Množství</td>
<td align="center">Celkem</td>
<td width="75" align="center"> </td>
</tr>
<?php
$subTotal = 0;
for ($i = 0; $i < $numItem; $i++) {
extract($cartContent[$i]);
$productUrl = "index.php?c=$cat_id&p=$pd_id";
$subTotal += $pd_price * $ct_qty;
?>
<tr class="content">
<td width="80" align="center"><a href="<?php echo $productUrl; ?>"><img src="<?php echo $pd_thumbnail; ?>" border="0"></a></td>
<td><a href="<?php echo $productUrl; ?>"><?php echo $pd_name; ?></a></td>
<td align="right"><?php echo ($pd_price); print (" Kč"); ?></td>
<td width="75"><input name="txtQty[]" type="text" id="txtQty[]" size="5" value="<?php echo $ct_qty; ?>" class="box" onKeyUp="checkNumber(this);">
<input name="hidCartId[]" type="hidden" value="<?php echo $ct_id; ?>">
<input name="hidProductId[]" type="hidden" value="<?php echo $pd_id; ?>">
</td>
<td align="right"><?php echo ($pd_price * $ct_qty); print (" Kč"); ?></td>
<td width="75" align="center"> <input name="btnDelete" type="button" id="btnDelete" value="Vymazat" onClick="window.location.href='<?php echo $_SERVER['PHP_SELF'] . "?action=delete&cid=$ct_id"; ?>';" class="box">
</td>
</tr>
<?php
}
?>
<tr class="content">
<td colspan="4" align="right">Přepočet</td>
<td align="right"><?php echo ($subTotal); print (" Kč"); ?></td>
<td width="75" align="center"> </td>
</tr>
<tr class="content">
<tr class="content">
<td colspan="4" align="right">Poštovné
<select name="sel" onchange="zjisti(this);">
<option value="60">Předem na účet</option>
<option value="110">Dobírkou</option>
<option value="130">Obchodní balík</option>
<option value="0">Osobní předání</option>
</select>
</td>
<td align="right">
<div id="divek" ></div> Kč
<script>
function zjisti(policko){
var prvek=policko.options[policko.selectedIndex].value;
var objekt=document.getElementById("divek");
objekt.innerHTML=prvek;
}
</script>
</td>
<td width="75" align="center"> </td>
</tr>
<tr class="content">
<td colspan="4" align="right">Celkem </td>
<td align="right"><?php echo $subTotal + $_POST['sel']." Kč";?></td>
<td width="75" align="center"> </td>
</tr>
<tr class="content">
<td colspan="5" align="right"> </td>
<td width="75" align="center">
<input name="btnUpdate" type="submit" id="btnUpdate" value="Aktualizovat košík" class="box"></td>
</tr>
</table>
</form>
<?php
} else {
?>
<p> </p><table width="550" border="0" align="center" cellpadding="10" cellspacing="0">
<tr>
<td><p align="center">Váš nákupní košík je prázdný</p>
<p>
Pokud vám nelze vložit zboží do košíku, prosím ujistěte se že váš internetový prohlížeč má v nastavení povoleny cookies a že žádný ochraný software neblokuje váš internetový košík. Pokud vám stále nefunguje vložení zboží do košíku, napište nám objednávku na objednavky@spodary.cz
Děkujeme
</p></td>
</tr>
</table>
<?php
}
$shoppingReturnUrl = isset($_SESSION['shop_return_url']) ? $_SESSION['shop_return_url'] : 'index.php';
?>
<table width="550" border="0" align="center" cellpadding="5" cellspacing="1" class="entryTable">
<tr>
<td width="150" class="entryTableHeader">Druh poštovného </td>
<td class="content">
<input name="optPayment" type="radio" id="Dobirka" value="dobirka" checked="checked" />
<label for="Dobirka" style="cursor:pointer">Dobírka</label>
<input name="optPayment" type="radio" value="cod" id="optCod" />
<label for="optCod" style="cursor:pointer">Předem na účet</label></td>
</tr>
</table>
<table width="550" border="0" align="center" cellpadding="10" cellspacing="0">
<tr align="center">
<td><input name="btnContinue" type="button" id="btnContinue" value="<< Pokračovat v nákupu" onClick="window.location.href='<?php echo $shoppingReturnUrl; ?>';" class="box"></td>
<?php
if ($numItem > 0) {
?>
<td><input name="btnCheckout" type="button" id="btnCheckout" value="Dokončit objednávku >>" onClick="window.location.href='checkout.php?step=1';" class="box"></td>
<?php
}
?>
</tr>
</table>
<?php
require_once 'include/footer.php';
?>
</td>
</table>
</td>
<td style="height:400px;
width:25px;
background:url('img/tabulka/right.png') repeat-y ;"></td>
<tr>
<td style="height:25px;
width:15px;
background:url('img/tabulka/cor_ld.png') no-repeat ;"></td>
<td style="height:25px;
width:840px;
background:url('img/tabulka/bottom.png') repeat-x ;"></td>
<td style="height:25px;
width:15px;
background:url('img/tabulka/cor_pd.png') no-repeat ;"></td>
</tr>
</table> |
||
| bohyn Profil |
#5 · Zasláno: 30. 4. 2010, 01:03:51
<?php
if(!isset($_POST['sel'])) {
$_POST['sel'] = 0;
}
echo $subTotal + $_POST['sel']." Kč";?> |
||
| Jan Profil |
#6 · Zasláno: 30. 4. 2010, 08:03:04
bohyn:
Děkji za radu, co by t přesně mělo dělat ? Díky |
||
| Chamurappi Profil |
#7 · Zasláno: 1. 5. 2010, 02:27:34
Reaguji na Jana:
„titulek je kvuli tomu ze stranka je psana v php a html a ktomu je pridany ten java skript“ Proč zmiňuješ v titulku Javu? „<div id="divek" ></div>“ „$shopConfig['divek']“ Předpokládáš, že se ti obsah <div>u odešle? Tak to nefunguje. Odesílají se jen formulářové prvky (třeba <input>, <select> atd.) s atributem name.
To, co vybereš v <select name="sel">, se odešle jako sel a najdeš to v $_POST['sel'].
Chceš-li, aby se formulář odeslal okamžitě po změně, stačí na to krátký skript, který snadno najdeš. |
||
| Jan Profil |
#8 · Zasláno: 1. 5. 2010, 12:12:55
Chamurappi:
Děkuji za objasnění, jde mi to abych si zvolil ze selectu druh dopravy, ten se mi zobrazí v příslušné kolonce, to vše funguje, potom se mi ale i změnila konečná cena kteá je : $subTotal + $_POST['sel'] Děkuji za radu jak na to , pokud by bylo vhodnější použít radiobutton , rád se nechám poučit. Děkuji |
||
|
Časová prodleva: 15 let
|
|||
0