-2

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

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

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

脚本:

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>    

谢谢您的帮助!。

4

6 回答 6

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;
}

这对我有用。

于 2015-04-04T19:31:30.440 回答
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>
于 2012-05-27T16:56:52.517 回答
0
var theForm = document.forms["orderform"]; 
var x = theForm.getElementById("quantc").value; 

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

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

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

于 2012-05-27T16:16:46.770 回答
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;

});

JSF中。

于 2012-05-27T16:24:17.340 回答
-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;
}

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

于 2012-05-27T16:21:00.793 回答
-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;

祝你好运利亚姆,祝你有美好的一天。

于 2012-05-27T16:17:30.550 回答