0

我有这段代码,但我不知道为什么“GetElementByID”功能不起作用,有人可以帮助我吗?

功能:

function Disabilita(control)
    {
        if (control.checked)
        {
            alert ("checkbox ceccata");
            document.getElementById(rag_soc_spedizione).disabled=TRUE;
            document.getElementById(nome_spedizione).disabled=TRUE;
            document.getElementById(cognome_spedizione).disabled=TRUE;
            document.getElementById(nazione_spedizione).disabled=TRUE;
            document.getElementById(provincia_spedizione).disabled=TRUE;
            document.getElementById(comune_spedizione).disabled=TRUE;
        }
        else
        alert ("checkbox non ceccata");
        {
            document.getElementById(rag_soc_spedizione).disabled=FALSE;
            document.getElementById(nome_spedizione).disabled=FALSE;
            document.getElementById(cognome_spedizione).disabled=FALSE;
            document.getElementById(nazione_spedizione).disabled=FALSE;
            document.getElementById(provincia_spedizione).disabled=FALSE;
            document.getElementById(comune_spedizione).disabled=FALSE;
        }
    }
    </script>

函数分配的元素

<input type="checkbox" value="true" name="dati-sped-fatt" id="dati-sped-fatt" onClick="Disabilita(this)">

两个警报都会出现,但没有一个控件被禁用。

4

5 回答 5

0

检查你没有把花括号放在其他地方,

所以它执行警报,然后将所有元素设置为false,如果你不放大括号,我将只执行一行代码

function Disabilita(control)
    {
        if (control.checked)
        {
            alert ("checkbox ceccata");
            document.getElementById('rag_soc_spedizione').disabled=TRUE;
            document.getElementById('nome_spedizione').disabled=TRUE;
            document.getElementById('cognome_spedizione').disabled=TRUE;
            document.getElementById('nazione_spedizione').disabled=TRUE;
            document.getElementById('provincia_spedizione').disabled=TRUE;
            document.getElementById('comune_spedizione').disabled=TRUE;
        }
        else
        {
          alert ("checkbox non ceccata");

            document.getElementById('rag_soc_spedizione').disabled=FALSE;
            document.getElementById('nome_spedizione').disabled=FALSE;
            document.getElementById('cognome_spedizione').disabled=FALSE;
            document.getElementById('nazione_spedizione').disabled=FALSE;
            document.getElementById('provincia_spedizione').disabled=FALSE;
            document.getElementById('comune_spedizione').disabled=FALSE;
        }
    }
    </script>
于 2013-08-29T13:05:23.713 回答
0

这项工作

document.getElementById("rag_soc_spedizione").disabled=true;

重新启用输入使用这个

document.getElementById("rag_soc_spedizione").disabled=false;

白衣“真”和“假”不是“真”或“假”

谢谢大家的建议

于 2013-08-30T07:41:37.597 回答
0

您需要在冒号中给出 id 名称。尝试这个:

document.getElementById("rag_soc_spedizione").disabled="disabled";
于 2013-08-29T12:55:58.890 回答
0

不确定这是唯一的问题,但所有 getelementbyid 都应该在 id 周围加上引号

document.getElementById(rag_soc_spedizione).disabled=TRUE;

应该

document.getElementById("rag_soc_spedizione").disabled=true;
于 2013-08-29T12:56:18.300 回答
0

3个问题!第一个 TRUE 和 False 无效,必须使用 true 或 false,并且

document.getElementById(comune_spedizione).disabled=TRUE;
    }
    else
    alert ("checkbox non ceccata");
    {
        document.getElementById(rag_soc_spedizione).disabled=FALSE;

警告导致错误!,您的 if 语句引发错误并且 javascript 将不起作用

首先摆脱 if else 错误然后使用 document.getElementById("rag_soc_spedizione").disabled="disabled";

第三个问题> getElementById 的参数是字符串

于 2013-08-29T12:57:42.403 回答