使用javascript更改输入值

时间:2012-05-27 16:12:28

标签: javascript html

我正在为一个单一的主题做一个任务,并且在使用javascript时遇到了一些麻烦。我希望能够根据另一个字段的值更改输入字段的值。简而言之,目的是在一个字段中输入一定数量的产品,并将其旁边的字段更改为显示购买该数量产品所需的总金额。

当我运行我的html时,输入的数量不会改变费用字段的值,我认为我的javascript一定有问题。

这是我的javascript函数的副本,以及它在其中执行的相关html。

SCRIPT:

function calcRowWash(){ 
    var theForm = document.forms["orderform"];
    var x = theForm.getElementById("quantc").value;
    var quantity = 0;
    if(x.value!=""){
        quantity = parseInt(x.value);
    }
    var totalC = (quantity*0.30);
    document.getElementById("totc").value = totalC;
    return;
}

HTML:

<td width = "90px" align ="left"><input type = "text" id ="quantc" name = "quantWash" size = "5" tabindex = "13" onblur="calcRowWash()"/></td>
<td width = "90px" align ="left"><input type = "hidden" id ="totc" name = "washtotal" size = "5" tabindex = "14" value=""/></td>    

感谢您的帮助!

6 个答案:

答案 0 :(得分:0)

var theForm = document.forms["orderform"]; 
var x = theForm.getElementById("quantc").value; 

这是多余的。 ID在整个文档中是唯一的,因此这就足够了:

var x = document.getElementById('quantc');

另请注意,我删除了.value - 这就是问题所在,因为您尝试获取值的值....

答案 1 :(得分:0)

这很有效。

calcRowWash = (function(){
    var x = document.getElementById("quantc");
    var quantity = 0;

    if (x.value!="") quantity = parseInt(x.value);

    var totalC = (quantity*0.30);
    document.getElementById("totc").value = totalC;

});

JSFiddle

答案 2 :(得分:0)

尝试使用此代码

    function calcRowWash() {
        var x = document.forms[0]['quantc'].value;
        var quantity = 0;
        if (x != "") {
            quantity = parseInt(x);
        }
        var totalC = (quantity * 0.30);
        document.forms[0]['totc'].value = totalC.toString();

    }

Html标记,我已经更改了文本框的隐藏类型,它适用于我。

   <td width = "90px" align ="left"><input type = "text" id ="quantc" tabindex = "13" onblur="calcRowWash()"/></td>
 <td width = "90px" align ="left"><input type = "text" id ="totc" tabindex = "13"/></td>  </div>

答案 3 :(得分:0)

function calcRowWash(){ 
    var theForm = document.forms["orderform"];
    var x = theForm.getElementById("quantc").value;
    var quantity = 0;

    // Check if it is not empty
    if(x.value != ""){
        // Check if it is a valid number
        if(x / x == 1){
            quantity = parseInt(x.value);
        }
    }
    var totalC = (quantity * 0.30);
    document.getElementById("totc").value = totalC;
}

这适合我。

答案 4 :(得分:-1)

<form name="myForm" action="#" method="POST">
   <input type = "text" id="quantc" name = "quantWash" size = "5" tabindex = "13"   onblur="calcRowWash()"/>
   <input type = "hidden" id ="totc" name = "washtotal" size = "5" tabindex = "14" value=""/>
</form>

function calcRowWash(){ 
   var quantity = document.myForm.quantWash.value; 
   var price = 10.0;
   document.myForm.washtotal.value = quantity * price;
}

该函数不包含解析内容。我只是想展示如何读取和设置两个输入字段的值。

答案 5 :(得分:-2)

您可以使用此JavaScript代码:

var inp = document.getElementById("inp"); // getting the Input ID
function change_value() {
    inp.value = 'Your Value'; // <-- value 
}

您可以添加活动:

inp.onfocus = change_value;
inp.onblur = another function with another action;

祝好运利亚姆度过了愉快的一天。