如何只为jsp中的所有文本框编写一个javascript以进行必要的字段验证

时间:2015-10-21 15:25:01

标签: javascript jsp

这是我注册的jsp页面。

 <table align="center">

                    <tr>
                        <td>
                            Select Category &nbsp;
                        </td>
                        <td>
                            <select name="drpdown_name">
                                <option>Select</option>
                                <option>Artist</option>
                                <option>User</option>                        
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Name:
                        </td>
                        <td>
                            <input type="text" name="uname" OnClientClick="return validate();">          
                        </td>
                    </tr>
                    <td>
                        Create Password:
                    </td>
                    <td>
                        <input type="password" name="upwd" onclick='validate()'>
                    </td>
                    <tr>
                        <td>
                            Confirm Password:
                        </td>
                        <td>
                            <input type="password" name="ucpwd" onclick='validate()'>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Email-Id:               
                        </td>
                        <td>
                            <input type="text" name="uemailId" onclick='validate()'>
                        </td>           
                    </tr>
                    <tr>
                        <td>
                            Country:
                        </td>
                        <td>
                            <select name="ucountry" width="50">
                                <option>India </option>
                                <option>Pakistan</option>
                                <option>Bangladesh</option>
                                <option>Japan</option>
                                <option>Canada</option>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <a href="login_ml.jsp">Login</a>
                        </td>
                        <td>
                            <input type="Submit" value="submit">
                        </td>
                    </tr>
                </table>

这是我的javascript来检查必填字段的验证

    function validate()
{
    var uname = document.getElementsByName("uname").value;
    var upwd = document.getElementsByName("upwd").value;
    var uemailId = document.getElementsByName("uemailId").value;

    if (uname === "")
    {
        alert("Enter First Name");
        return false;
    }

    if (upwd === "") {
        alert("Enter Password");
        return false;
    }

    if (uemailId === "") {
        alert("Enter Email");
        return false;
    }

}

当用户输入错误信息或者用户将文本框留空时,客户端验证将起作用。但我无法验证jsp页面。事实上,我认为甚至没有调用javascript。这段代码出了什么问题?

2 个答案:

答案 0 :(得分:1)

Fist,OnClientClick不是输入字段的有效DOM属性,因此请勿使用它。

其次,您正在使用每个输入的onClick方法,但是您希望在客户端在输入框中输入信息后进行验证,因此您应该在每个输入上使用blur事件或者提交按钮或表单上的onsubmit事件(假设您的HTML上有表单和提交按钮)。

第三,如果您只想使用一个函数来验证所需的所有字段,您可以将输入文本更改为以下内容:

<input type="text" name="uemailId" onblur='validate(this)'>

然后,您的validate函数应该是这样的:

function validate(element) {
  if(element) {
    if(element.value.length == 0) {
      alert("Enter " + element.name);
    }
  }
}

答案 1 :(得分:0)

jsp page

function validate()
{


    var uname = document.forms["myForm"]["uname"].value;
    var upwd = document.forms["myForm"]["upwd"].value;
    var ucpwd = document.forms["myForm"]["ucpwd"].value;
    var uemailId = document.forms["myForm"]["uemailId"].value;

    if (uname === null || uname === "") {
        alert("Name must be filled out");
        return false;
    }

    if (upwd === null || upwd === "") {
        alert("password must be filled out");
        return false;
    }

    if (upwd === ucpwd)
    {
        alert("Password does not match");
        return false;
    }
    if (uemailId === null || uemailId === "") {
        alert("email must be filled out");
        return false;
    } 
}

的javascript

gridOptions = {

            useCheckBoxField: 'selected',
            data: 'data',
            columns: 'columns',
            enableCellNavigation: true,
            enableColumnReorder: true,
            editable: true,
            autoEdit: true,
            multiColumnSort: true,
            rowSelectionModel: 'selectedRows',
            enableAddRow: true
        }