繁体   English   中英

两个脚本Javascript不能一起使用

[英]Two scripts Javascript doesn't work together

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

当选中单选按钮时,第一个脚本隐藏文本输入,而在列表中选择一个值时,第二个脚本执行相同的操作。

当单独存在时,两者都起作用,但与我的函数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;
}; 

.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');"))

我相信您只有两个函数具有冲突的全局范围变量名称。 尝试以此替换“ 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;
}; 

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

var objControleur = document.getElementById(Controleur);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM