我试图通过隐藏的表单将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的了解仅限于提出解决方案。
答案 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()