如何在以下情况下禁用输入类型=文本

时间:2012-10-20 20:46:08

标签: php javascript html

我已经为MySQL表中的每个访客条目构建了下表。

    echo '<tr>
            <td>'.$gastId[$i]." ".$voornaam[$i].'</td>
            <td><input type="radio" name=present'.$gastId[$i].'[] value=1 onclick="setReadOnly(this)" checked></td>
            <td><input type="radio" name=present'.$gastId[$i].'[] value=2 onclick="setReadOnly(this)"></td>
            <td><input type="text"  name="artiest[]" value="'.$artiest[$i].'"></td>
            <td><input type="text"  name="titel[]" value="'.$titel[$i].'"></td>
        </tr>';

我想根据现在的单选按钮禁用两个字段artiest(艺术家)和titel(标题)。$ gastId [$ i]。

我试图用javascript解决它,但我对javascript的经验不多。有没有办法通过ID或其他方式将每行的单选按钮和文本字段链接起来?

<script language='javascript'>
<!-- //
function setReadOnly(obj)
{
    if(obj.value == 1)
    {
        document.forms[0].artiest.readOnly = 0;
    } else {
        document.forms[0].artiest.readOnly = 1;
    }
}
// -->
</script>

非常感谢你的帮助!

编辑21-10-2012

对不起,我应该更清楚。

如果表格如下:

------------------------------------------------
|  P  |  NP  | Artist        | Title           |
------------------------------------------------
|  X  |      | Enabled       | Enabled         |
------------------------------------------------
|     |  X   | Disabled      | Disabled        |
------------------------------------------------
etc

因此该行的单选按钮控制是否启用或禁用同一行中的字段。

2 个答案:

答案 0 :(得分:1)

只需将ID添加到:

<td><input type="text"  id="artiest" name="artiest[]" value="'.$artiest[$i].'"></td>
                        ^^^^^^^^^^^

答案 1 :(得分:0)

我已经开始工作了:

我已将ID字段添加到元素中。

    echo '<tr>
            <td>'.$gastId[$i]." ".$voornaam[$i].'</td>
            <td><input type="radio" id='.$gastId[$i].' name=present'.$gastId[$i].'[] value=1 onclick="setReadOnly(this)" checked></td>
            <td><input type="radio" id='.$gastId[$i].' name=present'.$gastId[$i].'[] value=2 onclick="setReadOnly(this)"></td>
            <td><input type="text"  id=artiest'.$gastId[$i].' name="artiest[]" value="'.$artiest[$i].'"></td>
            <td><input type="text"  id=titel'.$gastId[$i].'   name="titel[]" value="'.$titel[$i].'"></td>
        </tr>';

并更改了javascript:          

function setReadOnly(obj)
{
    if(obj.value == 1)
    {
        document.getElementById("artiest"+obj.id).readOnly = 0;
        document.getElementById("titel"+obj.id).readOnly = 0;
    } else {
        document.getElementById("artiest"+obj.id).readOnly = 1;
        document.getElementById("titel"+obj.id).readOnly = 1;
    }
}
// -->
</script>

谢谢大家的帮助!