Javascript 检查提交表单时是否跳过了文本输入字段?

Javascript 检查提交表单时是否跳过了文本输入字段?,javascript,text,input,Javascript,Text,Input,我有一个带有文本输入的表单,我正在检查表单提交时是否有跳过的文本输入,并且有一个警告,提示行被跳过,他们需要在提交表单之前填写这些行 这是我正在使用的代码,如果最后一行为空,我会得到一个错误,即未定义NextEntyline 我得到的lin是该文本输入的行数 var emptyLine = eval('document.forms.mainForm.itemLine_1_' + lin).value; var nextEmptyLine = eval('document.forms.mainFo

我有一个带有文本输入的表单,我正在检查表单提交时是否有跳过的文本输入,并且有一个警告,提示行被跳过,他们需要在提交表单之前填写这些行

这是我正在使用的代码,如果最后一行为空,我会得到一个错误,即未定义NextEntyline

我得到的lin是该文本输入的行数

var emptyLine = eval('document.forms.mainForm.itemLine_1_' + lin).value;
var nextEmptyLine = eval('document.forms.mainForm.itemLine_1_' + [lin+1]).value;    

if((emptyLine == "") && (nextEmptyLine != ""){
    alert("You seem to have skipped a line. Please go back and close up the lines. We do not allow for skipped lines." );
    submitOnce=false;
    return false;
}
哇,真正的黑暗时代密码,你从哪里找到的?对eval的合理使用很少。一般来说,永远不要使用它

要检查每个textarea元素是否都有空字符串或所有空白以外的值,请在表单上使用submit侦听器:

<form onsubmit="return checkTextareas(this);" ...> 
  ...
</form>

...
那么功能是:

function checkTextareas(form) {
  var tas = form.getElementsByTagName('textarea');
  var re = /^\s*$/;

  for (var i=0, iLen=tas.length; i<iLen; i++) {
    if (re.test(tas[i].value)) {
      // textarea has only whitespace or nothing in its value
      // Tell the user why submit failed
      alert('Ooops! You missed a line');
      return false;
    } 
  }
}
函数检查文本区域(表单){
var tas=form.getElementsByTagName('textarea');
var re=/^\s*$/;

对于(var i=0,iLen=tas.length;iIf)您可以使用我建议使用jQuery和jQuery验证插件的框架。然后您将免费获得此功能。哇,加载100KB、4000行脚本加插件,并编写验证代码以替换10行函数。
function checkTextareas(form) {
  var tas = form.getElementsByTagName('textarea');
  var re = /^\s*$/;

  for (var i=0, iLen=tas.length; i<iLen; i++) {
    if (re.test(tas[i].value)) {
      // textarea has only whitespace or nothing in its value
      // Tell the user why submit failed
      alert('Ooops! You missed a line');
      return false;
    } 
  }
}