我需要以下代码的帮助:
<script type="text/javascript">
var opcao = new Array (
document.getElementById("cred_form_1864_1_wpcf-pde_Pesquisas_descontinuadas"),
document.getElementById("cred_form_1864_1_wpcf-pnps_Pesquisas_nao_patenteaveis-sigilosas")
);
function check1(){
if (opcao[0].checked == true){
for (var i = 0; i < opcao.length; i++){
if (i != 0){
opcao[i].checked = false;
opcao[i].disabled = true;
}
}
}
}
function check2(){
if (opcao[1].checked == true){
for (var i = 0; i < opcao.length; i++){
if (i != 1){
opcao[i].checked = false;
opcao[i].disabled = true;
}
}
}
}
</script>
我需要在函数'check1()'和'check2()'中调用数组'opcao'。我怎么能这样做?
====================
我尝试了Mishik的建议没有奏效。我需要的是函数'check1()'和'check2()'访问相同的数组'opcao'。 如果我在每个函数中编写数组,代码就能完美运行。但是,对于每个创建的函数,我将如何重复相同的数组。
答案 0 :(得分:2)
如果您的代码在加载页面之前执行,那么opcao
数组实际上不会包含必需的元素。
您需要将代码包装在window.onload
中,以便在执行脚本时,document
中将提供所有必需的元素。
window.onload = function() {
var opcao = new Array (
document.getElementById("cred_form_1864_1_wpcf-pde_Pesquisas_descontinuadas"),
document.getElementById("cred_form_1864_1_wpcf-pnps_Pesquisas_nao_patenteaveis-sigilosas")
);
function check1(){
if (opcao[0].checked == true){
for (var i = 0; i < opcao.length; i++){
if (i != 0){
opcao[i].checked = false;
opcao[i].disabled = true;
}
}
}
}
function check2(){
if (opcao[1].checked == true){
for (var i = 0; i < opcao.length; i++){
if (i != 1){
opcao[i].checked = false;
opcao[i].disabled = true;
}
}
}
}
}