将js变量插入到表单变量中

时间:2013-05-07 09:42:09

标签: javascript forms parsing variables radio-button

我试图通过隐藏的表单将js变量传递给php脚本。将它传递给php没问题,但是我无法将变量转换成表格。

function calculate() {    
            var radio1 = document.forms["calcForm"].v1;
            var radio2 = document.forms["calcForm"].v2;

            var getf1 = getSelectedRadio(radio1);
            var getf2 = getSelectedRadio(radio2);

            var f1 = radio1[getf1].value;
            var f2 = radio2[getf2].value;

            var resultat = document.getElementById("resultat");
            var total = (parseInt(f1) + parseInt(f2)).toFixed(0);
            resultat.value = total;//used to show value in another input-field
            }

document.contactForm.formTotal.value = total;

这是导致我出问题的最后一行,因为它不会接受总数。函数calculate完美地运行 - 当我用一个更简单的变量(如var x = 10;

)替换total时,其他所有内容都可以

不知何故,我想找到一种方法将document.contactForm.formTotal.value设置为total的值。

原因必须是它无法从函数中收回某些值 - 但是我对js的了解仅限于提出解决方案。

2 个答案:

答案 0 :(得分:0)

Total被定义为函数内部的局部变量,因此不能在函数外部的赋值中使用。

您可以在函数内移动赋值,也可以让函数返回值。

答案 1 :(得分:0)

变量total不在函数范围内。您可以在函数中声明它,但更好的方法是函数返回一个值,例如:

function calculate() {    
        var radio1 = document.forms["calcForm"].v1;
        var radio2 = document.forms["calcForm"].v2;

        var getf1 = getSelectedRadio(radio1);
        var getf2 = getSelectedRadio(radio2);

        var f1 = radio1[getf1].value;
        var f2 = radio2[getf2].value;

        var resultat = document.getElementById("resultat");
        var total = (parseInt(f1) + parseInt(f2)).toFixed(0);
        return resultat.value;//used to show value in another input-field
        }

var total = calculate()