<input type=password onblur="showMsg.innerText=(this.value.length<4)?'密码们数不能小于四位':''"><span id=showMsg></span>

解决方案 »

  1.   

    <script language=javascript>
    function check()
    {
        if (document.form1.pws.value.length<4)
    {
        r.innerText="口令不得小于四位";
    rid.style.display="";
    return false;
        }
    else return true;
    }
    </script>
    <div id="rid" style="display:none"><span id=r></span></div>
    <form name=form1>
    请输入口令:<input type="password" name=pws>
    <input type=submit value="提交" onclick='if(check()) return true; else return false;'>
    </form>
      

  2.   

    呵呵,谢谢,有没有像alert,或者document.write这样的方法?
      

  3.   

    其实是这样的,我的这段javascript是配合java struts做的,用了里面的validation,
          <validator name="minlength"
                classname="org.apache.struts.util.StrutsValidator"
                   method="validateMinLength"
             methodParams="java.lang.Object,
                           org.apache.commons.validator.ValidatorAction,
                           org.apache.commons.validator.Field,
                           org.apache.struts.action.ActionErrors,
                           javax.servlet.http.HttpServletRequest"
                  depends="required"
                      msg="errors.minlength">         <javascript><![CDATA[
                function validateMinLength(form) {
                    var bValid = true;
                    var focusField = null;
                    var i = 0;
                    var fields = new Array();
                    oMinLength = new minlength();
                    for (x in oMinLength) {
                        if (form[oMinLength[x][0]].type == 'password' ||
                            form[oMinLength[x][0]].type == 'text' ||
                            form[oMinLength[x][0]].type == 'textarea') {
                            var iMin = parseInt(oMinLength[x][2]("minlength"));
                            if (!(form[oMinLength[x][0]].value.length >= iMin)) {
                                if (i == 0) {
                                    focusField = form[oMinLength[x][0]];
                                }
                                fields[i++] = oMinLength[x][1];
                                bValid = false;
                            }
                        }
                    }
                    if (fields.length > 0) {
                       focusField.focus();
                       alert(fields.join('\n'));   //注:就是这儿
                    }
                    return bValid;
                }]]>
             </javascript>      </validator>
    这段代码中的alert要怎么改?谢谢
      

  4.   

    照几位的意思你可以这样
    <validator ...>
    ...
    </validator>
    <span id="showMsg" style="color:red"></span>
    然后
    alert(fields.join('\n')); 
    ==>
    showMsg.innerHTML = fields;//我想可以不用fields.join('\n');了吧,你可以试试
      

  5.   

    试一下
    showMsg.innerHTML = fields.join(' ');
    fields应该不是一个string对象,它的join方法才返回一个string
      

  6.   

    其实我觉得是不是showMsg.innerHTML的意思,如果我把这句话换成document.write(fields.join('\n'));那么会另起一个页面显示提示信息,我只是想把这个信息放到原来的统一个页面上。我想问一下javascript里面有没有类似于label之类的东西,这样我可以开始在页面上设置一个赋空值的label,然后出错了之后给它重新赋值就好了。
      

  7.   

    你可以试试以下代码:
    请输入口令:<input type=passwd maxlength=4>这样可直接规定密码为4位。或试另一种方法:
    请输入口令:<input type="password" name=pws><div id="rid" style="display:none">口令不得小于四位</div>
    <input type=button value="提交" onclick='tj()'>
    <script language="javascript">
    function tj()
    if (pws.value.length<4)
      rid.style.display="";
    </script>
      

  8.   

    不好意思,第二种方法应是
    或试另一种方法:
    请输入口令:<input type="password" name=pws><div id="rid" style="display:none">口令不得小于四位</div>
    <input type=button value="提交" onclick='tj()'>
    <script language="javascript">
    function tj()
    {
    if (pws.value.length<4)
      rid.style.display="";
    }
    </script>
      

  9.   

    请问style="display:none"是什么意思啊?