簡體   English   中英

javascript:獲取單元格的值-修復未定義的表格單元格值

[英]javascript: Get the value of a cell - Fix table cell value being undefined

我有一個PHP購物車,它在表中顯示價格和數量。 每個Td的ID分別命名為p1,p2,p3..etc。 和q1,q2,q3..etc。 這樣我就可以將它們定位為用於顯示JavaScript的購物車總費用。 當我嘗試獲取ID的值並將其置於警報中時,我得到“未定義”。 我可以看到該值實際上是一個數字,所以為什么我變得未定義? 有沒有一種方法可以通過其ID訪問Td的值,以便它不是未定義的? 多謝您的協助。 如果需要,將發布更多代碼。

    var p1= document.getElementById("p1").value;
    var q1= document.getElementById("q1").value;
    var total= parseFloat(p1) * parseFloat(q1);  
    window.alert(p1); 

這是此頁面的代碼:

<div id="shopping-cart">
    <div class="txt-heading">
        <div class="label">Shopping Cart</div> 
        <a id="btnEmpty"><img src="empty-cart.png" id= "emptycart" 
alt="empty-cart" title="Empty Cart"  /></a>
    </div>

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "secure_login";
$member_id = $_SESSION['login_user'];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
?>

 <?php 
 $query = "select * from tbl_cart WHERE member_id= '$member_id'";
 $result = mysqli_query($conn,$query);
 if (!$result) {
 printf("Error: %s\n", mysqli_error($conn));
 exit();
}



echo "<table id='anyclass'>";
echo "<tr>
         <th id='product1'>Product</th>
         <th id='price1'>Price</th>
         <th id='quantity1'>Quantity</th>
         <th id='remove1'>Remove</th>


    </tr>";

$i=1;
while($row = $result->fetch_assoc()) {  


echo "<tr class= 'trhide'>";

echo          "<td id='product'>".$row['product_id']."</td>";

echo          "<td id= 'p$i' >".$row['price']."</td>"; 
echo          "<td id= 'q$i' >". "<input style='border:none' type = 'text' 
class= 'change' id= $row[id] value= $row[quantity] name= $row[id] data-id= 
$row[id] >" . "</td>";

echo          "<td id= 'delete'><span class='delete' data-id= $row[id] ><img 
src=delete.svg></span></td>   
  </tr>";

  $i++;
}


echo  "<tr>
          <td>Total:</td>
          <td id= 'total'></td>
          <td></td>
          <td></td> 

  </tr>";
echo "</table>";


?>

td沒有value 他們有innerText 更改這些:

var p1= document.getElementById("p1").value;
var q1= document.getElementById("q1").value;

這些:

var p1= document.getElementById("p1").innerText;
var q1= document.getElementById("q1").innerText;

我給你寫3個例子

價值得到輸入值

innerHTML獲取內容

outsideHTML獲取整個標簽的內容

 <html>
    <header>
    </header>
    <body>
    <div id="p1">Mehrdad</div>
    <div id="p2">Dashti</div>
    <input type="text" name="p3" value="Mehrdad Dashti" id="p3">
    <script language='javascript' type='text/javascript'>
    var p1 = document.getElementById('p1').innerHTML;
    var p2 = document.getElementById('p2').outerHTML;
    var p3 = document.getElementById('p3').value;
    alert(p1);
    alert(p2);
    alert(p3);
    </script>
    </body>
    </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM