一个form表单,里面好多要填写的东西,填好了之后,提交时用js验证一下提交数据的字节数总和,怎么做呢

解决方案 »

  1.   


      <input type="text" id="txtcontent" />
      <input type="button" onclick="submit()" />
      function submint()
      {
        var txtcontent=$("txtcontent").val();
        var content_length=txtcontent.length;//长度
         if(content_length>300)
           {
             alert("您输入的内容超出了允许范围!") ;
          }
         else{alert("提交成功!");}  }如果有多个的话,先求和再比较
      

  2.   

    我补充一下,获取对象只能通过name获取,只要一个总数就行了,我要的总数是字节数,不是长度
      

  3.   

    $(function() {
        var a = $("input[type='text']").val();
        var b = $("input").eq(1).val();
        var c = $("input").eq(2).val();
        var d = $("input").eq(3).val();
        ......
        alert(a.length+b.length+c.length+d.length);
    })
      

  4.   

    如果都是输入框的话可以这样计算:<input type="text" id="t1" />
    <input type="text" id="t2" />
    <input type="button" onclick="testBt()" />
    <script type="text/javascript">
      function testBt()
      {
        var allstr = '',count=0;  
        allstr+=document.getElementById('t1').value;
        allstr+=document.getElementById('t2').value;
        count = allstr.replace(/[^\x00-\xFF]/g,'**').length;
        alert('表单中输入的文字一共占了'+count+'个字节');
        return count;
      }</script>
      

  5.   

    关键是这句正则,算出字符串所占字节数 
    [字符串].replace(/[^\x00-\xFF]/g,'**').length
      

  6.   

    name 是留给服务器用的, js 以 id 为依据,有方法 getElementByName,不过 IE 下反正是有 bug 的。如果实在要以 name 为依据,遍历所有表单节点,判断 name 属性。至于说字节数,每个字符两个字节;上传文件的话 js 牵涉到权限问题,不借助第三方的东西(如插件)不能直接获取;服务器端的话,还要考虑 http 协议头的大小。