$(function(){
$('#addAction').click(function(){
count += 1;
$('#extras').append('<div class="row"><div class="col-md-1">Delivery Fee: </div><input id="price_' + count + '" name="prices[]' + '" type="text" onkeyup="javascript:this.value=this.value.replace(/[^0-9.]/g, \'\');" /></div>' );
});
});
我不知道为什么正则表达式不会用空字符串替换值。如果有人想在数字字段中添加字母值,那么应该从数字字段中删除字母值,但我试过,它不起作用,请告诉我正确的解决方案。
答案 0 :(得分:1)
javascript:
仅用于锚元素的href
属性。
<input type="text" onkeyup="this.value=this.value.replace(/[^0-9.]/g, '');" />
答案 1 :(得分:1)
我不太确定该正则表达式应该做什么,但我假设你试图只允许输入字段中的数字。更好的方法是检查Event.keyCode
属性并使用Event.preventDefault()
禁止任何非数字字符。
您应该避免使用内联JavaScript,它不可维护,以后会导致问题。
您可以在这种情况下使用onkeyup
使用$(function(){
var count = 0;
$('#addAction').click(function(){
count += 1;
var newRow = $('<div class="row"><div class="col-md-1">Delivery Fee: </div><input id="price_' + count + '" name="prices[]' + '" type="text"></div>');
$('#price_' + count, newRow).keydown(function(event){
var charCode = event.keyCode;
if (!(charCode >= 48 && charCode <= 57)
&& !(charCode >= 96 && charCode <= 105)) {
event.preventDefault();
}
});
$('#extras').append(newRow);
});
});
事件监听器。
<button id="addAction">Click Me</button>
<div id="extras"></div>
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
CentOS 5