在一个JSP页面中有一个列表控件和一个文本域控件,我想要通过用户在列表控件中选择的值来控制文本域控件的显示,比如用户在列表控件中选择了2,则在该页面中文本域控件有2个,用户在列表控件中选择了5,则在该页面中文本域控件有5个.初始时应该显示一个文本域控件.
请教各位大虾如何实现?程序代码片段如下:
<form name="form1" method="post" action="">
  <p>
  <select name="select" size="1">
    <option value="1">1</option>
    <option value="2">2</option>
    </select>
</p>
//加入代码?<input type="text" name="textfield">//加入代码?

解决方案 »

  1.   

    <select name="select" size="1" onchange="document.form1.textfield.value=this.options[selectedIndex].value">
    -------------------
    加onchange事件
      

  2.   

    感谢cronuz!之后是否这样做?
    //加入代码?
    <%int  temp = document.form1.textfield.value;%>
    <%while(temp!=0)
    {%>
    <input type="text" name="textfield">
    <% temp--;
    }
    %>
    //加入代码?
      

  3.   

    用JavaScript不能控制文本控件的行数吗?请指教!
    <script Language="JavaScript">
    <!--
        int  temp = document.form1.textfield.value;while(temp!=0)
    {-->
    </script>
    <input type="text" name="textfield">
    <script Language="JavaScript">
    <!--
    temp--;
    }
    {-->
      

  4.   

    加个div,然后理由div的innerHTML来实现比较方便。
    <form name="form1" method="post" action="">
      <p>
      <select name="select" size="1" onchange="doChange()">
        <option value="1">1</option>
        <option value="2">2</option>
        </select>
    </p><div id="textdiv">
    <input type="text" name="textfield">
    </div>
    </form>
    <script>
    function doChange(){
        var textnum = form1.select.value;
        var innerStr = "";
        var i=0;
        for(i;i<textnum;i++){
            innerStr += "<input type='text' name='textfield"+i+"'>";
        }
        document.all.textdiv.innerHTML = innerStr;
    }
    </script>