0

我使用的表单显示一些 div,具体取决于您单击单选按钮的哪个选项。

问题是 div 设置为不显示,除非我选择一个选项。

因此,我添加了以下功能,以确保如果显示 div,它将具有所需属性的表单。

所以我给了这个功能:

<script type="text/javascript">
function addattribute()
{
    if (document.getElementById('montant').style.display == "block")
    {
        document.getElementsByName('montant_creance').setAttribute('required');
        document.getElementsByName('condition2').setAttribute('required');
    }
    if (document.getElementById('montant').style.display == "none")
    {
        document.getElementsByName('montant_creance').setAttribute('required','false');
        document.getElementsByName('condition2').setAttribute('required','false');
    }
}
</script>   

但它在控制台中对我说:

Uncaught TypeError: Object #<NodeList> has no method 'setAttribute'

我真的不知道如何找到问题。

接受我最大的尊重。

亲切的问候。

SP。

4

2 回答 2

2

getElementsByName返回一个元素的集合,所以你必须写例如

document.getElementsByName('montant_creance')[0].setAttribute('required');

每次您使用正确的索引使用此方法(或类似方法,例如getElementsByTagName, ...)时getElementsByClassName

于 2012-09-27T12:01:54.150 回答
0

setAttribute 采用 2 个参数名称和值:

setAttribute('name','value');
于 2012-09-27T12:01:10.723 回答