Javascript 如何检查中的输入并正确发送表单

Javascript 如何检查中的输入并正确发送表单,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有两个问题: 如何更好地检查输入?我有个主意: 首先,使字段靠近输入 <input type='text' name='firstname'><label id='firstnameError'></label> 我将在所有输入上使用这个函数,对吗? 对吗? 如何正确检查表单中的所有输入? 当然,我可以设置type=button并在提交时调用一些函数,这些函数将检查表单中的所有元素~与第一个问题中的功能相同,但每个输入有5-7个if块。是的,对于10个表单

我有两个问题: 如何更好地检查输入?我有个主意: 首先,使字段靠近输入

<input type='text' name='firstname'><label id='firstnameError'></label>
我将在所有输入上使用这个函数,对吗? 对吗? 如何正确检查表单中的所有输入? 当然,我可以设置type=button并在提交时调用一些函数,这些函数将检查表单中的所有元素~与第一个问题中的功能相同,但每个输入有5-7个if块。是的,对于10个表单,我必须写10个函数,等等。如何更好地做到这一点?在我看来,我只能发送表单Id/名称并获取元素的child。我说得对吗?
也许另一种方式?无论如何,我在我的网站上使用jquery和一些ajax。也许在jquery上做我想做的事情更容易?问题是我不太擅长js,无法轻松使用jquery。您认为如何?

如果您只想验证是否提供了某些数据,可以使用required属性

<input type="text" name="username" required>
如果您使用的是XHTML,它应该如下所示

<input type="text" name="username" required="required">
Internet Explorer 10、Firefox、Opera和Chrome支持必需的属性,而Internet Explorer 9和早期版本或Safari不支持该属性

如果你想使用JavaScript。您可以创建一个javascript函数,该函数将在表单提交时调用

<form name="search" onsubmit="return validate()" >
   Name: <input type="text" name="name"/>
   Age: <input type="gender" name="sex"/>
   <input type="submit" name="Submit" value="Submit"/>
</form>

function validate(){
  // all the code for verification
  return false;  // if any of the step verification step fails. Otherwise return true.
}

来源:

为了改进您的设计,最好使用非内联JavaScript。尝试使用如下设计:

var fname = document.getElementById("firstname");
var other = document.getElementById("otherid");
fname.onblur = other.onblur = function() {
   checkEmpty(this.id,this.id+"Error");
}
这将为所有需要的元素提供相同的onclick函数,并消除那些讨厌的onblur属性


编辑:确保在像这样链接分配之前声明了变量,否则会产生不需要的全局变量。

谢谢您的回答。好主意。但是我必须使用js。这是一项任务。在这种情况下,你的第二种方法会起作用。另一种方法是创建一个javascript函数,该函数将在提交时调用,该函数将验证是否所有字段都给出了正确的值?我的意思是写函数,它将获得可变数量的参数?forvar I=0;i您不必总是检查字段是否为非空。每个字段可能有不同的验证要求。
<form name="search" onsubmit="return validate()" >
   Name: <input type="text" name="name"/>
   Age: <input type="gender" name="sex"/>
   <input type="submit" name="Submit" value="Submit"/>
</form>

function validate(){
  // all the code for verification
  return false;  // if any of the step verification step fails. Otherwise return true.
}
var fname = document.getElementById("firstname");
var other = document.getElementById("otherid");
fname.onblur = other.onblur = function() {
   checkEmpty(this.id,this.id+"Error");
}