代码之家  ›  专栏  ›  技术社区  ›  Elorfin

两个脚本javascript不能一起工作

  •  0
  • Elorfin  · 技术社区  · 15 年前

    我在一个文件中有两个脚本active_form.js

    第一个脚本在选中RadioButton时隐藏文本条目,第二个脚本在列表中选择值时执行相同的操作。

    当只有一个人的时候,两者都起作用,但我的功能格瑞控制器却一事无成。

    编辑: 两个脚本以相同的形式调用。

    我的脚本代码:

    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;
    }; 
    

    .js在我的视图中被调用.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');"))
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   user400850    15 年前

    我相信您只有两个函数的全局范围变量名冲突。尝试用这个替换“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;
    }; 
    
        2
  •  0
  •   Elorfin    15 年前

    我发现了错误:在gerecontroleradio中,我删除了一行。

    var objControleur = document.getElementById(Controleur);