0

我正在尝试通过隐藏表单将 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;

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

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

原因一定是它不能从函数中收回一些值 - 但是我对 js 的了解仅限于提出解决方案。

4

2 回答 2

0

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

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

于 2013-05-07T11:37:54.893 回答
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()
于 2013-05-07T12:17:23.393 回答