循环中每个项目的javascript onblur函数

循环中每个项目的javascript onblur函数,javascript,java,validation,jsp,Javascript,Java,Validation,Jsp,我已经在数据库中的一列中插入了一些项,但是如何在循环中执行onblur函数来验证这些项??例如,验证NAME如果为空,则提示警报;如果NRIC长度小于某个长度,则提示警报消息。我怎样表演 <script> function fnfunction(??) { //no idea how to do validation for each item } </script> <% String SQL = "SELECT * F

我已经在数据库中的一列中插入了一些项,但是如何在循环中执行onblur函数来验证这些项??例如,验证
NAME
如果为空,则提示警报;如果
NRIC
长度小于某个长度,则提示警报消息。我怎样表演

  <script>
  function fnfunction(??)
  {
    //no idea how to do validation for each item
  } 
  </script>
  <%
   String SQL   = "SELECT * FROM TB_BS_WITH UR";
   String  VALUE1 = "";
   String ROW_NO = "";
   String COL_NO = "";
    DB_Contact.makeConnection();
    DB_Contact.executeQuery(SQL);   
    while(DB_Contact.getNextQuery())
    {
        VALUE1 = DB_Contact.getColumnString("VALUE1");
        ROW_NO = DB_Contact.getColumnString("ROW_NO");
        COL_NO = DB_Contact.getColumnString("COL_NO");
    %>
   <table>
        <tr>
            <%StringTokenizer st1=n ew StringTokenizer(VALUE1, "^"); while(st1.hasMoreTokens()){%>
                <th class="fontSection">
                    <%=st1.nextToken() %>
                </th>
                <%}%>
        </tr>
        <%for(int i=0;i<Integer.parseInt(ROW_NO);i++){ %>
            <tr>
                <%for(int j=0;j<Integer.parseInt(COL_NO);j++){ %>
                    <td>
                        <input type="text"name="<%=j%>_NAME_<%=i %>" id="<%=j%>_NAME_<%=i %>" onblur="fnfunction(???)">
                    </td>
                    <%}%>
            </tr>
            <%}%>
    </table>
    <%
      } DB_Contact.takeDown();
    %>

函数fn函数(?)
{
//不知道如何对每个项目进行验证
} 
电流输出。。。如何验证每个列的有效性?
要在
blur
上进行验证,可以执行以下操作。
不要在
input
标记中内联分配事件,请在加载页面后分配

  window.addEventListener('load', initPage, false);

  // add blur event to all inputs
  function initPage(event) {
    var inputs = document.getElementsByTagName('INPUT');
    for (var i = 0; i < inputs.length; i++) {
      // only check text fields
      if (e.target.type === 'text') {
        inputs[i].addEventListener('blur', validateForm, false);
      }
    }
  }

  // check value of blurred element
  function validateForm(e) {
    e = e || window.event;
    e.target = e.target || e.srcElement;

    // assuming id will always be --> #_FieldName_#
    var fieldName = e.target.id.split('_')[1];

    switch (fieldName) {
      case 'Name':
        if (e.target.value === '') {
          alert(fieldName + ' cannot be blank!');
          e.target.focus();
        }
        break;

      case 'NRIC':
        if (Number(e.target.value) < 10) {
          alert(fieldName + ' cannot be less than 10!');
          e.target.focus();
        }
        break;
    }
  }
window.addEventListener('load',initPage,false);
//将模糊事件添加到所有输入
函数初始化页(事件){
var inputs=document.getElementsByTagName('INPUT');
对于(变量i=0;i##u字段名_#
var fieldName=e.target.id.split(“”“)[1];
交换机(字段名){
案例“名称”:
如果(e.target.value==''){
警报(fieldName+'不能为空!');
e、 target.focus();
}
打破
案例“NRIC”:
if(数字(如目标值)<10){
警报(fieldName+'不能小于10!');
e、 target.focus();
}
打破
}
}

要在
blur
上进行验证,可以执行以下操作。
不要在
input
标记中内联分配事件,请在加载页面后分配

  window.addEventListener('load', initPage, false);

  // add blur event to all inputs
  function initPage(event) {
    var inputs = document.getElementsByTagName('INPUT');
    for (var i = 0; i < inputs.length; i++) {
      // only check text fields
      if (e.target.type === 'text') {
        inputs[i].addEventListener('blur', validateForm, false);
      }
    }
  }

  // check value of blurred element
  function validateForm(e) {
    e = e || window.event;
    e.target = e.target || e.srcElement;

    // assuming id will always be --> #_FieldName_#
    var fieldName = e.target.id.split('_')[1];

    switch (fieldName) {
      case 'Name':
        if (e.target.value === '') {
          alert(fieldName + ' cannot be blank!');
          e.target.focus();
        }
        break;

      case 'NRIC':
        if (Number(e.target.value) < 10) {
          alert(fieldName + ' cannot be less than 10!');
          e.target.focus();
        }
        break;
    }
  }
window.addEventListener('load',initPage,false);
//将模糊事件添加到所有输入
函数初始化页(事件){
var inputs=document.getElementsByTagName('INPUT');
对于(变量i=0;i##u字段名_#
var fieldName=e.target.id.split(“”“)[1];
交换机(字段名){
案例“名称”:
如果(e.target.value==''){
警报(fieldName+'不能为空!');
e、 target.focus();
}
打破
案例“NRIC”:
if(数字(如目标值)<10){
警报(fieldName+'不能小于10!');
e、 target.focus();
}
打破
}
}
你可以像下面这样做(一种方式):——

在jsp中:-

<input type="text"name="<%=j%>_NAME_<%=i %>" id="<%=j%>_NAME_<%=i %>" onblur="validateInput("+<%=j%>+",this)">
你可以像贝娄那样做(一种方式):——

在jsp中:-

<input type="text"name="<%=j%>_NAME_<%=i %>" id="<%=j%>_NAME_<%=i %>" onblur="validateInput("+<%=j%>+",this)">

嗯..关于字段名。。不是标题的名称。。它是一个输入标记。。我不能使用switch case。名称将是0\u name\u 0,1\u name\u 0,2\u name\u 0,3\u name\u 0这就是为什么我
split
on>来获取
id
hmm]的中间部分。关于字段名。。不是标题的名称。。它是一个输入标记。。我不能用switch case。名称将是0\u name\u 0、1\u name\u 0、2\u name\u 0、3\u name\u 0这就是为什么我
split
on>来获取
id
hmm的中间部分。。不能为我的案子工作。。因为项目位置不固定。。示例:第一个表可能是NAME^NRIC/FIN^DOB^occulation,第二个表可能是NAME^NRIC/FIN^occulation,如果我使用cellNo==3来验证DOB,那么当它被占用时将出现错误..hmm。。不能为我的案子工作。。因为项目位置不固定。。示例:第一个表可能是NAME^NRIC/FIN^DOB^occulation,第二个表可能是NAME^NRIC/FIN^occulation,如果我使用cellNo==3验证DOB,当它被占用时将出现错误。您是否能够想出一个解决方案,或者回答帮助?您是否能够想出一个解决方案,或者回答帮助?