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

时间:2015-10-29 14:04:17

标签: javascript java validation jsp

enter image description here

我在数据库的列中插入了一些项目,但是我如何在循环中执行onblur函数来验证这些项目?例如,验证NAME如果为空则提示警告,如果{{ 1}}长度小于一定长度然后提示警告消息。我该怎么做?

NRIC

当前输出...如何验证每列?    enter image description here

2 个答案:

答案 0 :(得分:0)

要在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;
    }
  }

答案 1 :(得分:0)

你可以这样做(下面之一): -

在jsp: -

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

看看:onblur="validateInput("+<%=j%>+",this)"this是当前的输入元素

在javascript中:

 function validateInput(cellNo,currentInput){

    if(cellNo === 0){
       // get the value from currentInputand validate as per your requirement..
    }else if(cellNo == 1){
     // get the value from currentInputand and validate as per your requirement..
    }
     .
     .
     .
}