1

在这里我想问你我的复选框。

我有一个复选框,该值从数据库中获取。因此,如果值匹配,则复选框将被选中。

现在我在应该选中但未选中复选框时遇到了问题。

我在负载时看到我身体的问题,但我不知道如何解决它。我怎么知道那里的问题?因为如果我刷新页面 2 或 3 次,复选框将在该复选框再次取消选中后选中。

这是我的 JS 代码:

function ActionCcdCheck (theForm)
    {
        if (theForm.ccd_chk.checked)
        {
            theForm['ccd_pos[]'][0].className = 'part';
            theForm['ccd_pos[]'][1].className = 'part';
            theForm['ccd_pos[]'][2].className = 'part';

            theForm['ccd_pos[]'][0].disabled  = false;
            theForm['ccd_pos[]'][0].checked  = false;
            theForm['ccd_pos[]'][1].disabled  = false;
            theForm['ccd_pos[]'][1].checked  = false;
            theForm['ccd_pos[]'][2].disabled  = false;
            theForm['ccd_pos[]'][2].checked  = false;
        }
        else
        {
            theForm['ccd_pos[]'][0].disabled  = true;
            theForm['ccd_pos[]'][1].disabled  = true;
            theForm['ccd_pos[]'][2].disabled  = true;
        }
    }

function LoadCondition ()
{
    ActionCcdCheck  (document.form);
}

这是我的复选框代码:

<body onload="LoadCondition();">
<form>
<?php
if(strpos($q_ccd_pos, 'front') === false)
{
echo "<input type='checkbox' name='ccd_pos[]' value='front' class='part' onkeypress='FocusChange (this.form, 6, 3);'/> Front";
}
else
{
echo "<input type='checkbox' name='ccd_pos[]' value='front' class='part' onkeypress='FocusChange (this.form, 6, 3);' checked/> Front";
}

if(strpos($q_ccd_pos, 'back') === false)
{
echo "<input type='checkbox' name='ccd_pos[]' value='back' class='part' onkeypress='FocusChange (this.form, 7, 2);'/> Back";
}
else
{
echo "<input type='checkbox' name='ccd_pos[]' value='back' class='part' onkeypress='FocusChange (this.form, 7, 2);' checked/> Back";
}

if(strpos($q_ccd_pos, 'fb') === false)
{
echo "<input type='checkbox' name='ccd_pos[]' value='fb' class='part' onkeypress='FocusChange (this.form, 8, 1);'/> FB";
}
else
{
echo "<input type='checkbox' name='ccd_pos[]' value='fb' class='part' onkeypress='FocusChange (this.form, 8, 1);' checked/> FB";
}
?>
</form>
</body>

请指教。
谢谢

4

1 回答 1

0

我看不到您ccd_chk要测试的复选框:

 if (theForm.ccd_chk.checked)

所以我创建了一个:

<form>
<?php
echo "<input type='checkbox' name='ccd_chk' value='chk' class='part' checked /> chk\n";
if(strpos($q_ccd_pos, 'front') === false)
[...]

这显然是错误的

if (theForm.ccd_chk.checked)

用。。。来代替

if (theForm['ccd_chk'].checked )   {

也替换在LoadCondition ()

function LoadCondition ()
{
    ActionCcdCheck  (document.form);
}

    ActionCcdCheck(document.forms[0]);

现在它应该可以工作了:-)

于 2013-05-29T03:55:55.587 回答