document.GetElementByid在非常简单的脚本中不起作用

时间:2013-08-29 12:52:57

标签: javascript html getelementbyid

我有这段代码,但我不知道为什么“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)">

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

5 个答案:

答案 0 :(得分:0)

您需要在冒号中提供ID名称。试试这个:

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

答案 1 :(得分:0)

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

document.getElementById(rag_soc_spedizione).disabled=TRUE;

应该是

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

答案 2 :(得分: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”;

第3个问题&gt; getElementById的参数是字符串

答案 3 :(得分:0)

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

所以它执行警报然后将所有元素设置为false, 通过dedault如果你不戴括号我将只执行单行代码

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>

答案 4 :(得分:0)

这项工作

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

重新启用输入使用此

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

whit“true”和“false”not“TRUE”或“FALSE”

感谢所有建议