簡體   English   中英

如何從javascript中的數組輸入中獲取值

[英]how to fetch values from array input in javascript

如何正確地從JavaScript中的數組中獲取值:

<html>
<head>
    <script type="text/javascript">
        function proc()
        {
            var cost = document.yoh.coz.value;
            var qtybuy = document.yoh.qbuys.value;
            var st = cost * qtybuy;

            var tbox = document.yoh.subtotal;
            if (tbox)
            {
                tbox.value = st;
            }
        }
    </script>
</head>
<body>

<?php
    include('conn.php');

    $prodname = $_GET['prodname'];
    $result = query_database("SELECT * FROM prod_table WHERE PRODUCT='$prodname'", "onstor", $link);
?>
<?php while ( $row = mysql_fetch_array($result) ) { ?>

<form name="yoh" method="get">
    Product id: <input type="text" name="prodid" value=""><br/>
    Cost: <input type="text" name="coz" value="<?php echo $row['S_PRICE']; ?>"><br/>
    Quantity to buy:<input type="text" name="qbuys" value="" onkeyup="proc();"></br>

    Subtotal:<input type="text" name="subtotal" value=""></br>
</form>

</body>
<?php } ?>
</html>

如您所見,該程序只會將2個值相乘。 其中一個值將從數據庫中獲取,另一個則來自用戶。 如果以這種方式進行操作,則不會獲得任何結果:

<html>
<head>
    <script type="text/javascript">
        function proc()
        {
            var cost = document.yoh.coz[].value;
            var qtybuy = document.yoh.qbuys[].value;
            var st = cost * qtybuy;

            var tbox = document.yoh.subtotal[];
            if (tbox)
            {
                tbox.value = st;
            }

        }
    </script>
</head>
<body>
<?php
    include('conn.php');

    $prodname = $_GET['prodname'];
    $result = query_database("SELECT * FROM prod_table WHERE PRODUCT='$prodname'", "onstor", $link);
?>
<?php while ( $row = mysql_fetch_array($result) ) { ?>

<form name="yoh" method="get">
    Product id: <input type="text" name="prodid[]" value=""><br/>
    Cost: <input type="text" name="coz[]" value="<?php echo $row['S_PRICE']; ?>"><br/>
    Quantity to buy:<input type="text" name="qbuys[]" value="" onkeyup="proc();"></br>

    Subtotal:<input type="text" name="subtotal[]" value=""></br>
</form>

</body>
<?php } ?>
</html>

我需要手動添加索引嗎? 使用數組時,我需要怎么做才能獲得相同的結果。

您可以使用名稱值:

cost=document.yoh.elements['coz[]'].value;

您需要遍歷數組。 要遍歷JavaScript中的數組(或對象):

for (key in arr){
    // The key will be set to each key in the array (arr)
    // The value at that key will be arr[key] (like always)
}

我不能完全確定您的目標是什么,但總的來說,您知道“ []”語法僅是PHP,JavaScript會將其視為任何其他名稱(並且可能會視為語法錯誤)。

暫無
暫無

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

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