问题描述。
当我选中一个checkbox时,在旁边显示一个文本输入框;不选中checkbox,就不显示文本输入框
请问如何实现呢

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <form>
    <p><input type="checkbox" id="demo" /><span></span></p>
    </form>
    <script type="text/javascript">
    document.getElementById('demo').onclick = function() {
    var o = this.parentNode.getElementsByTagName('span')[0];
    if (this.checked) o.innerHTML = '<input type="text" />';
    else o.innerHTML = '';
    }
    </script>
    </body>
    </html>
      

  2.   

    <input   type= "checkbox "   name= "check "   value= "1 "> 
    <?php
     if($check != " "){
      echo '<input type="text" name="word" id="word" />';
    }
    else
    {
    echo "未选择";
    }
     ?>
    不是太懂php。。照猫画狐写了个试试吧
      

  3.   

    按你的方法是可以的,但是如果对多个checkbox,好像就不可以了,比如我这个例子,选中第一个checkbox,会出现输入框,但是选中第二个,却不可以,如何实现呢我的代码如下function display_recom_urls($url_array)
    {
    echo "<p>推荐给我的所有收藏</p>";
    echo "<form name='tj_table' action='../add_tj_bms.php' method='post'>";
    echo "<table ><tr><th>收 藏</th><th>加入我的收藏</th></tr>";
    foreach($url_array as $url)
    {
    echo "<tr><td><a href='".htmlspecialchars($url)."'>".$url."</a></td>";
    echo "<td align='center'><input type='checkbox' id='isadd' name='add[]' value='".$url."' /></td></tr>";
    }
    echo "<tr><td><input type='submit' value='加入所选' name='add' /></td></tr>";
    echo "</table></form>";
    }
      

  4.   

    这是纯JS问题,跟PHP没多大关系。不过PHP代码也需要修改一下,以方便JS操作,并且在同一个文档中,html元素的id值必须是唯一的,你写的代码中循环输出一些表格行,其中的复选框元素的id值会重复。
    //echo "<td align='center'><input type='checkbox' id='isadd' name='add[]' value='".$url."' /></td></tr>";
    echo "<td align='center'><input type='checkbox' name='add[]' value='".$url."' /><span></span></td></tr>";下面这段代码加入head标签中:
    <script type="text/javascript">
    window.onload = function() {
    var obj = document.getElementsByName('add[]');
    for (var i = 0; i < obj.length; i ++) {
    obj[i].onclick = function() {
    var oSpan = this.parentNode.getElementsByTagName('span')[0];
    if (this.checked) oSpan.innerHTML = '<input type="text" />';
    else oSpan.innerHTML = '';
    }
    }
    }
    </script>