我有一个表单,取决于您选择显示或隐藏 div 的选项。
在这个 div 中,我有两个元素输入。
如果将 div 设置为显示,我有一个添加属性 required true 的函数。
如果设置为不显示,则不显示,但它会告诉我
name='montant_creance' 的无效表单控件不可聚焦。index.php:1 name='condition2' 的无效表单控件不可聚焦。
但我真的不明白为什么,因为 div 设置为不显示。
这是我使用的功能
<script type="text/javascript">
function addattribute()
{
if (document.getElementById('montant').style.display == "block")
{
document.getElementsByName('montant_creance')[1].setAttribute('required');
document.getElementsByName('condition2')[0].setAttribute('required');
}
}
</script>
那么谁能解释我为什么它在控制台中显示这条消息?我试过使用那个功能
<script type="text/javascript">
function addattribute()
{
if (document.getElementById('montant').style.display == "block")
{
document.getElementsByName('montant_creance')[0].setAttribute('required');
document.getElementsByName('condition2')[0].setAttribute('required');
}
if (document.getElementById('montant').style.display == "none")
{
document.getElementsByName('montant_creance')[0].setAttribute('required','false');
document.getElementsByName('condition2')[0].setAttribute('required','false');
}
}
</script>
它经常说
name='montant_creance' 的无效表单控件不可聚焦。index.php:1 name='condition2' 的无效表单控件不可聚焦。
我还尝试添加一些隐藏的输入类型;使用该功能:
<script type="text/javascript">
function addattribute()
{
if (document.getElementById('montant').style.display == "block")
{
document.getElementsByName('montant_creance')[1].setAttribute('required');
document.getElementsByName('condition2')[1].setAttribute('required');
}
if (document.getElementById('montant').style.display == "none")
{
document.getElementsByName('montant_creance')[0].setAttribute('required','false');
document.getElementsByName('condition2')[0].setAttribute('required','false');
}
}
</script>
这是预览:http: //jsfiddle.net/VUZQP/
接受我最大的尊重