Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Arkadaşlar JavaScript kısmında takıldım yardımcı olabilirmisiniz.

okkess

0
Onaylı Üye
Üye
Katılım
11 Ocak 2011
Mesajlar
2
Açılan Konu
1
Tepki puanı
0
Kodlarım aşağıdadır.


<script type="text/javascript">
function calcTotal(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var colCount = table.rows[0].cells.length;
var total = document.getElementById("toplamtutar").value;
for (var i = 0; i < rowCount; i++) {
// alert(table.rows.cells[colCount - 3].childNodes[0].attributes["value"].value);
total = parseInt(total) + parseInt(table.rows.cells[colCount - 2].childNodes[0].attributes["value"].value);
//alert(table.rows.cells[colCount - 3].childNodes[0].attributes["value"].value);
}
// alert(total);
document.getElementById("toplamtutar").value = total;
var kuponSayisi = total / 75;
document.getElementById("kuponsayisi").value = Math.floor(kuponSayisi);

}
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells.innerHTML;
//alert(newcell.childNodes);
switch(newcell.childNodes[0].type) {
case "text":
newcell.childNodes[0].value = "";
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
case "select-one":
newcell.childNodes[0].selectedIndex = 0;
break;
}
}
}
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows;
var chkbox = row.cells[0].childNodes[0];
if(lisanssız != chkbox && true == chkbox.checked) {
if(rowCount <= 1) {
alert("Cannot delete all the rows.");
break;
}
table.deleteRow(i);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
</script

><form name="form1" id="form3" action="kuponekle.php" method="post">
<label for="button3"></label>
<input type="button" value="Kupon Ekle" onclick="addRow('dataTable')" />
<table width="378" border="0">
<tr>
<td width="127">Mağaza</td>
<td width="146" align="center">Fiş No</td>
<td width="91" align="center"> Tutar</td>
</tr>
</table>
<table id="dataTable" width="380" border="0">
<tr>
<td><select name="magazalar[]">
<option value="Magaza">Mağaza</option>
<option value="Market">Market</option>
<option value="Mango">Mango</option>
<option value="Derimod">Derimod</option>
<option value="Tefal">Tefal</option>
<option value="Koton">Koton</option>
</select></td>
<td><input type="text" name="fisno[]" value="0"/></td>
<td><input name="tutar[]" type="text" size="15" value="0"/></td>
<td><input name="kmid[]" type="hidden" id="kmid" value="<?php echo $row_bilgiguncelle['m_id']; ?>" /></td>
</tr>
</table>
<p>Toplam Tutar:
<input name="toplamtutar" type="text" id="toplamtutar" value="0" size="8" readonly="readonly" />
Kupon Sayisi:
<input name="kuponSayisi[]" type="text" id="kuponsayisi" value="0" size="8" readonly="readonly" >
<input type="button" name="button2" id="button4" value="topla" onclick="calcTotal('dataTable')" />
<input type="submit" name="button" id="button3" value="kaydet" />
</p>
</form>
Arkadaşlar burdaki problemim Topla butonuna basıldığında toplama işlemini yapmaktayım fakat topla tuşuna tekrar bastığımda tekrar toplama işlemi yapmakta bunu nasıl engelleyebilirim, birde POST işlemi kuponsayisi bilgisini aldıramıyorum problem ne olabilir sizce. Aşağıdada diğer sayfamın kodları var.
<?php
$mgz = $_POST['magazalar'];
$fno = $_POST['fisno'];
$ttr = $_POST['tutar'];
$kuponmid = $_POST['kmid'];
$ksayi = $_POST['kuponsayisi'];
$toplamveri = count($fno);
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("avm", $con);

//* Ekrana Fişleri yazdırmak *//
foreach($fno as $a => $b)
{
echo "$mgz[$a] - $fno[$a] - $ttr[$a] - $kuponmid[$a]<br />";
echo "$ksayi";

$sql="insert into kupon (`magaza`,`fis_no`,`tutar`,`k_m_id`,`kuponsayi`) values ('$mgz[$a]', '$fno[$a]', '$ttr[$a]', '$kuponmid[$a]', '$ksayi[$a]')";
mysql_query("$sql");
}

echo mysql_error();
if (mysql_affected_rows()>0)
{
echo "oldu";
}
else
{
echo "olmadı";
}
?>
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
1) toplama fonksiyonunun başında total değerini, toplamtutar id'li alandan alıyorsun. onun üstüne toplayarak her seferinde yükseltir. total fonksiyon içinde 0'dan başlamalı.
2) kuponsayısı fieldi array olarak tanımlanmış. (kuponSayisi[]). Sen ise string şekliyle ulaşmaya çalışıyorsun. Post datasına nasıl ulaşacağını içinde ne bilgiler olduğunu var_dump($_POST); yaparak görebilirsin.
3) Kodları php, /php diye tag içine alırsan forumda, okunabilecek şekilde paste eder. Böyle text görmek çok yoruyor gözü.
 
Üst