【问题标题】:Validate html table cell and stop navigation验证 html 表格单元格并停止导航
【发布时间】:2015-05-29 00:12:15
【问题描述】:

我是 SO 的新手,也是 Web 开发的新手。我有一个动态 HTML 表。我想验证输入类型单元格之一并在验证失败时停止导航。下面的代码不起作用。请帮帮我,谢谢!

HTML:

<table id="tblpay">
    <thead>
        <tr>
            <th>CUST ID</th>
            <th>Balance Due </th>
            <th>Payment Amt </th>
        </tr>
    </thead>
    <tbody>
        <% while (rs.next()) { %>               
        <tr>
            <td>
                <%=rs.getString("cust_id")%>
            </td>
            <td class="right" id="amount_due">
                <%=rs.getString("amount_due")%>
            </td >
            <td class="right" id="payamt">
                <div id="edit1">
                    <input type="number" id="payinput" class="payc"
                     onchange="return validatedata(this); "  value = <%=rs.getString("amount_due")%> > </input>
                </div>
            </td>                    
        </tr>               
    </tbody>
</table>

Javascript:

function validatedata(e){
    if (!isNaN(parseFloat(e.value)) && isFinite(e.value)){
        return true;
    }
    else {               
        return false;
    }
}

【问题讨论】:

  • 请提供一个最小且可用的代码示例来重现您遇到的问题,而不需要我们(以及互联网的其他部分)没有的额外代码,例如 js 模板。

标签: javascript html


【解决方案1】:

改变:

 onchange="return validatedata(this); " 

 onkeypress="return validatedata(this); " 

还有:

 function validatedata(evt){

var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57))
    return false;

return true;

}

http://jsbin.com/nelujedozi/2/edit

【讨论】:

  • SO 提供了可以直接嵌入到答案中的代码 sn-p。
  • 谢谢你,罗伊·纳米尔。有效。它只允许用户输入数字,而不是允许他们输入任何内容,然后验证并停止。
猜你喜欢
  • 2018-03-21
  • 1970-01-01
  • 1970-01-01
  • 2019-10-27
  • 2023-03-26
  • 1970-01-01
  • 2011-05-19
  • 2013-07-05
  • 1970-01-01
相关资源
最近更新 更多