文件GetElementByid在非常简单的脚本中没有'不起作用

document.GetElementByid in very easy script doesn't work

本文关键字:不起作用 脚本 GetElementByid 非常 简单 文件      更新时间:2023-09-26

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

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

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

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

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

document.getElementById(rag_soc_spedizione).disabled=TRUE;

应该是

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

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的参数是字符串

检查您没有为else、放大括号

因此它执行警报,然后将所有元素设置为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>

这项工作

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

要重新启用输入,请使用此

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

whit"true"answers"false"NOT"true"或"false"

感谢大家的建议