Realtime udregning af pris ajax php javascript
Hej... jeg har et problem med at få en realtime udregning af "pris" ganget med "antal", som så bliver skrevet ud i feltet "total" her er koden. lige nu blever der ikke lavet en udregning, og ved indtasting i alle "antal" felter bliver resultatet kun udskevet i det første "total" felt.. håber i kan hjælp mig har siddet med dette problem i over 3 dag.hoved fil :
<html>
<head>
<script src="selectprodukt.js"></script>
</head>
<body>
<?php
require("inc/db.php");
$conn = connection();
$sql = "SELECT * ";
$sql .= "FROM produkter ";
$sql .= "ORDER BY varenr";
$result = mysql_query($sql, $conn);
if (!$result) {
die ("query ikke udført: " . $sql. "<br /><strong>Fejl:</strong> " . mysql_error($conn));
}
$row = mysql_fetch_assoc($result);
$Vnavn=$row['varenr'];
$pnavn=$row['produktnavn'];
$pris=$row['pris'];
$id=$row['id'] ;
print "<form id=\"kunde\" action=\"dokument.php\" method=\"post\" >";
print "<table border=1>\n";
print '<tr><th width="100px">Vare nr. :</th><th width="250px">Produkt navn :</th><th width="75px" colspan="2">Pris :</th><th width="75px">Antal :</th><th>Total : </th>';
print "</tr>\n";
while ($row = mysql_fetch_assoc($result)) {
print("<tr>");
print("<td>". $row['varenr'] ."</td>");
print("<td>". $row['produktnavn'] ."</td>");
print("<td>". $row['pris'] ." </td><td> kr.</td>");
print('<td><input type="text" name="'.$row['id'].'" id"'.$row['id'].'" onKeyUp="showUser(this.value)" size="40"> stk.</td>');
print('<td><p><div id="txtHint"></div></p></td>');
print("</tr>\n");
}
print '</table>';
print "<table border=1>\n";
print '<tr><td colspan="4"><p><input type="submit" class="sub" name="bestilling" value="Bestil" /> <input type="reset" class="sub"/></p></td></tr>';
print '</table></form>';
?>
</body>
</html>
javascript "selectprodukt.js":
var xmlHttp
function showUser(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML=""
return
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="getprodukt.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
PHP getprodukt.php :
<?php
require("inc/db.php");
$conn = connection();
$q=$_GET['id'];
$t=1;
$sql = "SELECT * ";
$sql .= "FROM produkter ";
$sql .= "WHERE id = '". $q ."' ";
$result = mysql_query($sql, $conn);
$row = mysql_fetch_array($result);
$p=$row['pris'];
$resultet=$p*$t;
if ($resultet>0){
print "her".$resultet;
}
else{
print "her 0 ".$q;
}
mysql_close($conn);
?>