使用javascript获取动态创建的文本框的值

时间:2013-11-27 07:36:07

标签: javascript php

我有一个订单页面,客户从各种类别中选择产品,然后使用php foreach循环我从数据库中获取所选产品详细信息,并在步骤2中显示所选产品,其中要选择数量。在第二步中,我需要计算产品的小计,即数量*速率(从db获取)。我无法为此编写有效的javascript代码。

<input type="text"  name="qty<?php echo $index; ?>" maxlength="7" class="bo-text" onblur = "getnsetvalue(<?php echo $sp; ?>, <?php echo $index; ?>);"> // the textbox where quantity is added

<input type="text"  readonly name="subtotal<?php echo $index; ?>" maxlength="7" class="bo-text"> //the texbox where subtotal will be computed and displayed

我使用的javascript代码是:

function getnsetvalue(rate, index){
        var quantity_field = "qty" + index;
        var quantity = document.product2.quantity_field.value;      
        var stotal = parseFloat(rate*quantity);
        var target_field = "subtotal" + index;
        document.product2.target_field.value=stotal;
}

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

你应该尝试onchange事件而不是onblur。并确保您的输入率和索引,这两者都不为空

答案 1 :(得分:0)

尝试

function getnsetvalue(rate, index){
    var quantity_field = "qty" + index;
    var quantity = document.getElementsByName(quantity_field)[0].value      
    var stotal = parseFloat(rate*quantity);
    var target_field = "subtotal" + index;
    document.getElementsByName(target_field)[0].value=stotal;
}

注意:您的vars quantity_field,target_field不是对象 - 它们只是可用于查找所需对象的字符串。