2013-05-07 1 views
0

Я пытаюсь передать переменную js через скрытую форму в php-скрипт. Нет проблем с передачей его через php, однако я не могу переменную в форму.Вставка переменной js в переменную формы

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; 

Это последняя строка, вызывающая у меня проблемы, так как она не принимает итоговые значения. Функция вычисления работает отлично - так же как и все остальное, когда я заменяю total на более простую переменную типа var x = 10;

Как-то я хотел бы найти способ установить document.contactForm.formTotal.value значение total.

Причина должна заключаться в том, что она не может отменить некоторые значения из функции, однако мои знания о js просто ограничены, чтобы придумать решение.

+0

Положите последнюю строку внутри функции, или функция возвращает результаты и назначить его непосредственно – thebreiflabb

+0

Have посмотрите на общий объем. Это локальная переменная, которая действительна только для вычисления функции. –

+0

Я смущен, но очень благодарен. Вы абсолютно правы, @ thebreiflabb. Как и все остальные, конечно. Если вы положите его в ответ, я соглашусь с ним ... – dblaursen

ответ

0

Total определяется как локальная переменная внутри функции и поэтому не может использоваться в назначениях вне функции.

Вы можете либо переместить назначение внутри функции, либо вернуть функцию в значение.

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() 
Смежные вопросы