İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

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

okkess

0
İyinet Üyesi
Katılım
11 Ocak 2011
Mesajlar
2
Reaction score
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
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
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ü.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst