Fork me on GitHub

js动态添加控件(输入框为例)

写在前面

  昨天得到一个需求,需要在账户登记页面中动态添加输入框,经过半天的捣鼓,最终完美成型,写下来跟大家分享下,

供大家参考

开始复制代码了

  如果复制了我所有代码的话,注意看js最后面方法的备注,最开始表单是隐藏的,需点击显示按钮

  这是表单代码

<form id="t">
    <table id="table" style="width:100%;height:100%;table-layout:fixed;display: none;" class="nui-form-table">
        <tr>
            <td width="10%"></td>
            <td width="10%">
                <label>券商1</label>
            </td>
            <td width="25%"><input type="text"  name="xws.qs1" required="true" maxlength="30" style="width:100%"/></td>
            <td width="10%"></td>
            <td width="10%">
                <label>交易单元1</label>
            </td>
            <td width="25%"><input type="text"  name="xws.qs1" required="true" maxlength="30" style="width:100%"/></td>
            <td width="10%">
                <input type="button" id="new" value="新增" />
            </td>
        </tr>
    </table>
            <input type="button" id="btn" value="显示" />
</form>

  

  这是js代码

<script type="text/javascript">
    var rowWhere=1;
document.getElementById('new').onclick = function() { var table =document.getElementById("table"); var rows = table.rows.length+1;
    //new部分控件 var input1 = document.createElement('input'); var label1 = document.createElement('label');       //这里是将新列插在指定的位置,0代表第一列 var tr = table.insertRow(rowWhere); rowWhere=rowWhere+1; var td1 = document.createElement('td'); var td2 = document.createElement('td'); var td3 = document.createElement('td');
      //添加各个属性 label1.innerHTML = "券商"+rows; input1.id="xws.qs"+rows; input1.setAttribute("name","xws.qs"+rows); input1.setAttribute("autocomplete","off"); input1.setAttribute("maxlength","30"); input1.setAttribute("placeholder",""); td2.appendChild(label1); td3.appendChild(input1); tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); };

   //最开始的时候是隐藏的,需点击才显示控件
    //写这个方法是测试我模块的需求,没啥意义 document.getElementById('btn').onclick = function(){ document.getElementById('table').style.display=""; }; </script>

  

posted @ 2018-10-26 17:16  doMakeBetter  阅读(11588)  评论(0编辑  收藏  举报