2个办法,
1 如想在本页进行判断,使用js,到js版问吧
2 可在下一个页面进行判断,如超出你所规定的字节则返回前一页

解决方案 »

  1.   

    这个当然是要用js判断啦,不然都提交了又有什么意义呢?
    <script>
    /*** 返回字节数 ***/
    String.prototype.lenb = function() {
      return this.replace(/[^\x00-\xff]/g,"**").length;
    }function foo(obj) {
      if(obj.value.lenb() > 60)
        alert("太长啦!");
    }
    </script>
    <input type=text onkeypress="foo(this)">
      

  2.   

    To  xuzuning(唠叨):我试了一下刚才你说的这个方法,怎么不成呢?我把script代码部分放在php外,放在里头编译有问题。但是不起作用。还需不需要改别的地方在这段代码里?
      

  3.   

    谢谢 xuzuning(唠叨),用你的方法可以实现。只是刚才犯了一个比较简单的错误。但是你的这个方法是必须在回车之后,进行了判断。仍然跳转到了第二界面,而不是停留在原界面。
      

  4.   

    onkeypress对汉字有点问题,可改用onkeyup
      

  5.   

    现在判断是没有问题,超过了之后也有提示。但我现在是想实现达到最到的值之后,就让后面的输入区无法输入,这个能实现吗?就相当于使用了maxlength。
      

  6.   

    在判断函数中设置
    event.returnValue = false;或调用时return foo()
    foo()中return false;
      

  7.   

    To xuzuning(唠叨) :我在foo()函数中加入了event.returnValue = false;
    ,但是还是能输入呀。,这两种方法都是一样,都还能输入,还有没别的办法呢?
      

  8.   

    不可能,这是基本的javascript。决不可能有问题。如果用扩展的javascript出问题倒是可能的,但也不应该在这里。应该是你自己写错了
    <script>
    /*** 返回字节数 ***/
    String.prototype.lenb = function() {
      return this.replace(/[^\x00-\xff]/g,"**").length;
    }function foo(obj) {
      if(obj.value.lenb() >= 6) { //为测试方便只限定6个字节
        alert("太长啦!");
        event.returnValue = false;
      }
    }
    function foo1(obj) {
      if(obj.value.lenb() >= 6) { //为测试方便只限定6个字节
        alert("太长啦!");
        return false;
      }
    }
    </script>
    用onkeydown处理<input type=text onkeydown="foo(this)"><br>
    用onkeyup处理<input type=text onkeyup="return foo1(this)">