如果你怕有非法输入要做验证的话建议最后提交的时候做验证吧,而不要用onkeyup,否则没输入一个字符,都会调用这个函数一次

解决方案 »

  1.   

    1. $("#wzmlpagerForm #wzdttm_anr_"+curth),ID唯一,是不是这里可以省略#wzmlpagerForm;2. 将keyup事件绑定到wzmlpagerForm表单上,事件可以冒泡传递
    如此这般,性能应该会有改善
      

  2.   


    看你的代码,你是想取代输入的长度。这就简单了。
    1.给输入框  统一一个 class 。例如:tarea
    2.在输入框上 新增一个属性。data-curth="x" 
    3.绑定方法。
    $(function(){
    //取得,你要显示长度的
     $('.tarea').keyup(function(){
        var that=$(this);
        var v=that.val();
        var leg=v.length;//长度取到了。你是想在哪里显示的
        var curth=that.attr("data-curth");
        $("#zzs_"+curth).text(leg);
    });
    });
      

  3.   

    再说一下,为什么你写的会慢。
    $("#wzmlpagerForm #zzs_"+curth)
    这种 选择器,是多级选择器,jquery在编辑dom的时候 是要消耗时间的。
    你的又是keyup,每次键盘抬起的时候,就要进行多级查询。太慢了。频繁操作。会出现明显的卡顿。
    而且你还用到了 两个多级查询。
    var cstr = $("#wzmlpagerForm #wzdttm_anr_"+curth).val();
     $("#wzmlpagerForm #zzs_"+curth).text(cstr.length);
      

  4.   

    3楼的方法我试了,没有成功,但也不适用,因为输入比原来更慢;
    以前程序运行在终端上慢,在普通PC上正常,照3楼的方法,在我PC上都慢。所以不适用。2楼,onkeyup放在form上在PC机上正常,不知道在终端上会不会好些,下周试试。