用户要求 在一个html页面里放置一个input供其输入关键词,关键词用逗号,分开
但要限制关键词输入的数量不超过5个 如果超过5个有提示
到底应该用js如何设计呢?请教高人
拜谢!

解决方案 »

  1.   

    onkeypress 事件下执行正则验证
      

  2.   

    额,我的js也很菜,只能写个很简单的,希望能帮到你.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title>
    <script type="text/javascript">
    function valid(){
    var keywords=document.getElementById("keywords").value;
    var str= new Array();
    str=keywords.split(",");
    if(str.length>5)
    {
    alert("关键词超过5个!");
    }
    else
    {
    for(var i=0; i<str.length;i++)
    {
    alert(str[i]);
    }
    }
    }
    </script>
    </head><body>
    <label for="keywords">请输入关键词:</label><input type="text" id="keywords" onblur="valid()"/>
    </body>
    </html>
      

  3.   

    提交的时候判断一下就好了,不用放在keydow、keypress事件中重要的逻辑都需要在服务器端判断。
      

  4.   

    关键词有没有什么format呢,二楼的方法可以,但是如果我只输入逗号,是不是也能通过?
      

  5.   

    网易博客上的日志添加tag的时候就是用的限制长度。
      

  6.   

    <html> 
    <head> 
    <script language="javascript"> 
    function test() 

    if(frmTest["user.name"].value.split(",").length>5)alert(">5"); 

    </script> 
    </head> <body> 
    <form name="frmTest"> 
    <input name="user.name" id="user" /> 
    <input type="button" onclick="test()"> 
    </form> 
    </body> 
    </html> 
      

  7.   

    可行,不过
    onblur建议换成onkeypress
      

  8.   

    onblur或onkeypresslz要判断用鼠标粘贴的情况吗?
    单纯的键盘判断貌似不够。
      

  9.   

    所以click时再做判断,不行给个alert,添加这么多事件弄不好bug也就出来了
      

  10.   

    无论是onblur还是onclick,这种需求做出来的界面肯定不怎么友好,还是说服客户用5个input吧,毕竟“,”还分全角半角