2010-07-26 3 views
0

У меня есть два сценария в файле active_form.jsДва сценарии Javascript не работает вместе

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

Когда есть одни, обе работают, но вместе моя функция GereControleRadio ничего не делает.

Редактировать: два сценария называются в том же виде.

Код моих сценариев:

function GereControleRadio(Controleur, LabelControle, Controle, Masquer) { 
    var objLabelControle = document.getElementById(LabelControle); 
    var objControle = document.getElementById(Controle); 

    if (Masquer=='1') { 
     objControle.style.visibility=(objControleur.checked==true)?'visible':'hidden'; 
     objLabelControle.style.visibility=(objControleur.checked==true)?'visible':'hidden'; 
    } 
    else { 
     objControle.disabled=(objControleur.checked==true)?false:true; 
     objLabelControle.disabled=(objControleur.checked==true)?false:true; 
    } 

    return true; 
}; 

function GereControleList(LabelControle, Controle, val) { 
    var objLabelControle = document.getElementById(LabelControle); 
    var objControle = document.getElementById(Controle); 

    if (val != '1% Patronal') { 
     objControle.style.visibility='hidden'; 
     objLabelControle.style.visibility='hidden'; 
    } 
    else { 
     objControle.style.visibility='visible'; 
     objLabelControle.style.visibility='visible'; 
    } 

    return true; 
}; 

The .js называется в моей view.yml

И я называю функции:

echo $form['etage']->render(array("onCLick" => "GereControleRadio('logement_etage_Etage', 'numetage_label', 'numetage_form, '1');")) 

echo $form['reservataire']->render(array("onChange" => "GereControleList('patronal', 'patronal_form', 'this.value');")) 

ответ

0

Я нашел ошибку: в GereControleRadio, я удалил строку.

var objControleur = document.getElementById(Controleur); 
1

Я считаю, что вы просто 2 функции с конфликтующими именами переменных глобальной области. Попробуйте заменить «GereControleList» с этим ...

function GereControleList(LabelControle, Controle, val) { 
    var objLabelControle_ = document.getElementById(LabelControle); 
    var objControle_ = document.getElementById(Controle); 

    if (val != '1% Patronal') { 
     objControle_.style.visibility='hidden'; 
     objLabelControle_.style.visibility='hidden'; 
    } 
    else { 
     objControle_.style.visibility='visible'; 
     objLabelControle_.style.visibility='visible'; 
    } 

    return true; 
}; 
+0

Я пробовал это, но у меня та же проблема: GereControleRadio не работает. – Elorfin

Смежные вопросы