无法在textarea中禁用逗号

时间:2017-09-14 08:56:34

标签: javascript jquery html

以下是自动创建textarea的代码。但是我想在这个textarea中禁用逗号,所以我使用下面的javascript函数。



    $(document).ready(function(){
    
        var counter = 1;
        var val;
    
        $("#addButton").click(function () {
    
        	var person = prompt("Please enter the Field name:", "");
      	  if (person == null || person == "") {
      	       
      		return false;
      	    } else {
      	       
      	        val = person;
      	    }
    if(tabid == "menu4"){
    	return false;
    }
    	//alert(tabid);
      	var newTextBoxDiv0 = $(document.createElement('div'))
        .attr("class", 'form-group row')
        .attr("id",'form1ac' + counter);
      	
        newTextBoxDiv0.after().html('<div class="col-xs-1"><input type="button" value="delete" onclick= rem(form1ac'+counter+')></div><div class="col-xs-1"><button type="button" class="btn btn"  name="" id="buttonl"  style="width: 170px;height:45px;background-color:#dcdcdc;color:black;">'+val+'</button><input type="hidden" name="buttonl" form="form1" value='+val+'></div><div class="col-xs-2"></div><div class="col-xs-4"><div class="form-group"><textarea form="form1" name="df" id="df" oninput = "this.value = this.value.replace(/[,]/g, "2")" ></textarea></div><input form="form1" type="hidden" name="tabid" value='+tabid+'></div>');
        newTextBoxDiv0.appendTo('#'+tabid);
        
        counter++;
         });
    
     
      
        
        $("#removeButton").click(function () {
        	if(counter==1){
                  alert("No more textbox to remove");
                  return false;
               }
    
        	counter--;
        	
                $("#form1ac" + counter).remove();
    
             });
    
        
      });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea form="form1" name="df" id="df" oninput = "this.value = this.value.replace(/[,]/g, "2")" ></textarea>
&#13;
&#13;
&#13;

上面的jquery代码将动态创建带有label选项的新textarea,它可以很好地工作。但我试图用上面提到的javascript代码禁用逗号,但这种代码效果不佳。

请帮助我!

3 个答案:

答案 0 :(得分:1)

如果您想阻止用户输入逗号:

<textarea class="no-comma"></textarea>

$(function() {
    $('textarea.no-comma').on('keydown', function(e) {
        if (e.keyCode == 188 || e.keyCode == 110) { // thats a comma
            e.preventDefault();
        }
    }).on('change input', function() {
        var self = $(this);
        self.html( self.html().replace(new RegExp(',', 'g'),'') ); // Remove all commas.
    });
})

答案 1 :(得分:0)

您的html语法错误为"2")" >

应为'2')" >

<textarea form="form1" name="df" id="df" oninput = "this.value = this.value.replace(/[,]/g, '2')" ></textarea>

答案 2 :(得分:0)

代替以下代码

<textarea form="form1" name="df" id="df" oninput = "this.value = this.value.replace(/[,]/g, "2")" ></textarea>

使用下面的代码

<textarea form="form1" name="df" id="df" oninput = 'this.value = this.value.replace(/[,]/g, "2")' ></textarea>