Topic: Negaliu išgauti kainų

Sveiki susidūriau su maža problema. Naudoju Concat funkcija duomenims atvaizduoti į Listbox. Su listbox`e OnChange metodu pasirinktus duomenis parodau šalimais. Kai parodau duomenis man reikia gauti skaičius kad galėčiau suskaičiuoti visą prekės sumą.

<script language="javascript" type="text/javascript">
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
} 
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getislaidived.php?q="+str,true);
xmlhttp.send();
}
    <!-- skaiciuoja suma be PVM -->
    function startCalc(){
        interval = setInterval("calc()",1);
        }
    function calc(){
    kiekis = document.pajam.prek_kiek.value;
    kaina = document.getElementById("txtHint").value;
    document.pajam.sum_be_pvm.value = (kiekis * 1) * (kaina * 1);

</script>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" >
<select name="contact_id"  onchange="showUser(this.value)">--- Pasirinkite ---
<?php
$query1 = "SELECT *, CONCAT_WS(' ---- ', pavadinimas, kaina) AS name FROM  kain ORDER BY pavadinimas ASC";
$result1 = mysql_query($query1);
if (!$result1) {
exit(mysql_error());
} else {
echo("\n <option value=\"\"> --- Pasirinkite --- </option>");
while($row1 = mysql_fetch_array($result1)) {
    $id = $row1['id'];
    $name = $row1['name'];
    echo("\n <option value=\"$id\">$name Lt.</option>");
}
}
?>
</select>
</td>
<td><input type="text" size="8" maxlength="30" name="prek_kiek" onFocus="startCalc();"></td>
<td><div id="txtHint" ></div></td>
<td align="center"><input type="text" size="4" maxlength="4" name="prek_vnt_skaic" ></td>
<td align="center"><input type="text" size="8" maxlength="8" name="sum_be_pvm" ></td>

getislaidived.php

<?php
include ("../db.php");

$q=$_GET["q"];

$sel = "SELECT * FROM kain WHERE id='$q'";
$selec = mysql_query($sel) or die(mysql_error());
while($p = mysql_fetch_assoc($selec))
{
echo $p['kaina'];
}
?>

Niekaip nepavyksta gauti kainos su komanda

 kaina = document.getElementById("txtHint").value;

 <div id="txtHint" ></div>

Re: Negaliu išgauti kainų

Alone wrote:

Niekaip nepavyksta gauti kainos su komanda

 kaina = document.getElementById("txtHint").value;

O tikrai čia per value reikia imti? Man atrodo innerHTML'ą naudok, div'as value tikriausiai neturi.

Re: Negaliu išgauti kainų

 kaina =  document.getElementById("txtHint").innerHTML;

Neima riekšmės
bandžiau naudoti

     kaina =  document.getElementById("txtHint").nodeType;

atpažysta tačiau nesugeba pasiimti skaičių

Re: Negaliu išgauti kainų

Veikiantis kodas:

...
<div id="txtHint">10</div>
<script>
    kaina_div = document.getElementById("txtHint");
    alert(kaina_div.innerHTML);
</script>
...

Re: Negaliu išgauti kainų

Naudok jQuery ir pamiršk galvos skausmus :)
tavo atveju būtų kaina_div = $("#txtHint").text();

Re: Negaliu išgauti kainų

Kad naudotis jQuery vistiek reikės išmokti JS pagrindus ir mokėti atsiversti dokumentaciją (-;

7 (edited by Alone 2010-08-03 19:53:26)

Re: Negaliu išgauti kainų

Ačiū už pagalbą, padėjote. Pirma noriu atkalti PHP - serverio pusėje veikiančia programavimo kalba, po to tik vartotojo pusėje :)

Be to dokumentacija nepadėjo :/ ieškojau, tikrai