检查表单的值';使用javascript创建字段
我想检查表单的值是否为空?在许多验证器(比如jquery.ketchup.0.3.2)让我失败后,我正在尝试编写自己的验证器(或者可能是我失败了) 但是我不能让这个功能工作检查表单的值';使用javascript创建字段,javascript,html,web,Javascript,Html,Web,我想检查表单的值是否为空?在许多验证器(比如jquery.ketchup.0.3.2)让我失败后,我正在尝试编写自己的验证器(或者可能是我失败了) 但是我不能让这个功能工作 function validate() { alert("hmmm"); var inputs = document.forms["register"].getElementsByTagName("input"); for (var item in inputs) { if(item.
function validate() {
alert("hmmm");
var inputs = document.forms["register"].getElementsByTagName("input");
for (var item in inputs) {
if(item.value.trim() == "")
alert("nullField");
}
}
您能告诉我上面的函数有什么问题吗?如果要使用jQuery,请使用jQuery
如果要使用jQuery,那么就使用jQuery
我想知道这是否是您使用的循环的
。若要在集合(数组)上循环,请对
循环使用普通的,而不是对in
使用。也许这可以解决这个问题:
function validate() {
alert("hmmm");
var inputs = document.forms["register"].getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if(inputs[i].value.trim() == "")
alert("nullField");
}
}
参考资料:
.find()
:
.each()
:
.trim()
:
我想知道这是否是您使用的循环的。若要在集合(数组)上循环,请对
循环使用普通的,而不是对in
使用。也许这可以解决这个问题:
function validate() {
alert("hmmm");
var inputs = document.forms["register"].getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if(inputs[i].value.trim() == "")
alert("nullField");
}
}
参考资料:
.find()
:
.each()
:
.trim()
:
如果只想使用javascript:
首先,确保定义了微调功能:
if(!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g,'');
};
}
现在了解实际功能:
function validate() {
var inputs = document.forms["register"].getElementsByTagName("input");
for (var i = 0, len = inputs.length; i < len ; i++) {
if(inputs[ i ].value.trim() == ""){
// Validation failed
}
}
// Validation successful
}
函数验证(){
var输入=document.forms[“register”].getElementsByTagName(“输入”);
对于(变量i=0,len=inputs.length;i
如果只想使用javascript:
首先,确保定义了微调功能:
if(!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g,'');
};
}
现在了解实际功能:
function validate() {
var inputs = document.forms["register"].getElementsByTagName("input");
for (var i = 0, len = inputs.length; i < len ; i++) {
if(inputs[ i ].value.trim() == ""){
// Validation failed
}
}
// Validation successful
}
函数验证(){
var输入=document.forms[“register”].getElementsByTagName(“输入”);
对于(变量i=0,len=inputs.length;i
我强烈建议不要编写自己的验证。尽管如此,您的代码仍存在一些问题
for..var..in构造遍历对象的所有属性。因此,对象foo={bar:'0',baz:'1'}
将迭代bar
和baz
(属性,而不是值)。如果要获取值,需要通过执行以下操作进行指示
for(foo中的vari){console.log(foo[i]);}
,或者在您的示例中:inputs[item].value
getElementsByTagName
返回一个NodeList
(请参阅)<代码>节点列表
s在列表中的元素旁边具有其他属性
如果您使用的是jQuery,那么只需执行$(“#register input”).val()
即可获得相关值的数组,并且可以使用$.map
函数对每个值执行操作 我强烈(我的意思是强烈)建议不要编写自己的验证。尽管如此,您的代码仍存在一些问题
for..var..in构造遍历对象的所有属性。因此,对象foo={bar:'0',baz:'1'}
将迭代bar
和baz
(属性,而不是值)。如果要获取值,需要通过执行以下操作进行指示
for(foo中的vari){console.log(foo[i]);}
,或者在您的示例中:inputs[item].value
getElementsByTagName
返回一个NodeList
(请参阅)<代码>节点列表
s在列表中的元素旁边具有其他属性
如果您使用的是jQuery,那么只需执行$(“#register input”).val()
即可获得相关值的数组,并且可以使用$.map
函数对每个值执行操作 或者可能是我没有通过:)你会得到哪个错误?您将在HTML中的何处应用此函数?你能发布一个JSFIDLE吗?或者我没能通过:)你会得到哪个错误?您将在HTML中的何处应用此函数?你能发布一个JSFIDLE吗?如果你打算建议使用jQuery,那么就用它来完成OP的所有工作。您遗漏了.forms[“register”]
part@Ian-OP建议在为问题添加标签时使用jQueryjQuery
。不过我已经更新了你的观点,很好地理解了。我唯一的观点是你没有首先找到表单,就是这样。如果你想建议使用jQuery,那么就用它来完成OP的所有工作。您遗漏了.forms[“register”]
part@Ian-OP建议在为问题添加标签时使用jQueryjQuery
。不过我已经更新了你的观点,很好地理解了。我唯一的观点是你没有首先找到表单,就是这样。thnx-它起作用了:)为了澄清一下,我可以通过调用输入[i]来更改null文件的其他属性吗。它们上的someMethod?@dave yes,没错。例如,您可以使用输入[i]更改其边框代码>thnx-它起作用了:)为了澄清,我可以通过调用输入[i]来更改null文件的其他属性。它们上的somethod?@dave是的,没错。例如,您可以使用输入[i]更改其边框代码>