通过javascript函数验证仅在动态生成的文本框中输入数字

时间:2014-02-01 07:32:43

标签: javascript html

<table>
   <tbody id="add_weight">
      <tr></tr>
   </tbody>
</table>

<a onClick="edit_weights()" style="text-decoration:none !important;"><span   style="cursor:pointer; font-size:10px;">+Add more Weights.</span></a><br/><br/>

在页面加载时没有文本框但是当我点击锚标记时,会打开一个文本框,表示我已经应用了一个函数...

<script type="text/javascript">
    var b=1;
    function edit_weights() {
        if (b==10) {
            alert("can't Add more than 10 Weight Rates");
            return false;
        }

        var table=document.getElementById("add_weight");
        var row=table.insertRow(b);
        var cell1=row.insertCell(0);

        cell1.innerHTML="<input type='text' id='edit_weight_from"+b+"' name='edit_weight_from"+b+"' style='width:100px; height:22px; float:left; margin:0px 0px 0px 0px;'/>";

        b=b+1;
     }

</script>

现在每次我点击锚标签时都会出现一个新的文本框...现在我想要的是当我尝试在这个文本框中输入字母时它不应该接受它。当我输入数字然后它应该采取它所以是有办法吗?

1 个答案:

答案 0 :(得分:0)

It doesn't have the best browser support yet (IE<10),但使用HTML5,we have many new input types。一个是<input type="number">,只允许 数字输入。

在不受支持的浏览器中,它只是默认为纯文本框(无验证)。结合服务器端验证,对于某些项目,我可以证明旧的Internet Explorer用户在这些字段上没有JS验证。也许你可以吗?