onSubmit验证更改标签样式
onSubmit validation changing label style
我试图让这个表单改变标签颜色提交后,如果字段是空的,然后返回正常时,字段填写。
它的行为类似于:Onsubmit验证更改后台必填字段?
除了我不知道如何将输入链接到标签。我正在使用上面链接中的jsFiddle:
http://jsfiddle.net/interdream/cpG2r/7/window.onload = function() {
document.getElementById("myForm").onsubmit = function() {
var fields = this.getElementsByClassName("required"),
sendForm = true;
for(var i = 0; i < fields.length; i++) {
if(!fields[i].value) {
fields[i].style.backgroundColor = "#ff0000";
sendForm = false;
}
else {
fields[i].style.backgroundColor = "#fff";
}
}
if(!sendForm) {
return false;
}
}
}
我的JavaScript不是很好。请帮助!
这是你的工作样品
</>
你应该看看Knockoutjs风格的dom值绑定。
您可以添加label
标签,如:
<form action="" id="myForm">
<label for="field1">Required field:</label> <input type="text" name="field1" class="required" /><br />
<label for="field2">Required field 2:</label> <input type="text" name="field2" class="required" />
<input type="submit" value="Go" />
</form>
在js部分
window.onload = function() {
document.getElementById("myForm").onsubmit = function() {
var fields = this.getElementsByClassName("required"),
sendForm = true;
for(var i = 0; i < fields.length; i++) {
var lbl = document.getElementsByTagName("label")[i]; //get label
if(!fields[i].value) {
lbl.style.color = "red";
console.log(lbl );
fields[i].style.backgroundColor = "#ff0000";
sendForm = false;
}
else {
lbl.style.color = "black";
fields[i].style.backgroundColor = "#fff";
}
}
if(!sendForm) {
return false;
}
}
}
参见:更新后的Fiddle
Try
<form action="" id="myForm">
<label>Required field: </label><input type="text" class="required" /><br />
<label>Required field 2: </label><input type="text" class="required" />
<input type="submit" value="Go" />
</form>
和
window.onload = function() {
document.getElementById("myForm").onsubmit = function() {
var fields = this.getElementsByClassName("required"),
sendForm = true;
for(var i = 0; i < fields.length; i++) {
if(!fields[i].value) {
fields[i].style.backgroundColor = "#ff0000";
var prev = fields[i].previousSibling;
while(!/label/i.test(prev.tagName)){
prev = prev.previousSibling;
}
prev.style.backgroundColor = "#ff0000";
sendForm = false;
}
else {
fields[i].style.backgroundColor = "#fff";
}
}
if(!sendForm) {
return false;
}
}
}
演示:小提琴
你可以使用jquery验证插件…它支持所有类型的验证以及更改标签颜色。可以显示合适的错误信息
这里有一个非常简单,聪明但有效的方法,通过使用惊人的敲除绑定来做到这一点,这里是工作示例:
var viewModel = {
validation: ko.observable(function(){})
};
相关文章:
- Ionic V1.3-标签-带条件的徽章样式<离子选项卡>
- 验证HTTP请求来自NFC标签上的点击
- 自定义dojo验证样式
- 未使用jQuery验证器选中Css样式复选框时
- 如何从表单标签外部的按钮手动触发 AngularJS 验证
- 如何防止 TinyMCE 将 CDATA 添加到<脚本>标签中,并注释掉<样式>标签
- 使用父标签中的样式属性附加新标签
- Jquery验证插件在与<发件人:form>标签
- 基于Blob的'链接样式表'与标准'style'标签
- Javascript:表单在第一次验证和应用样式后提交
- 如何更改表单的样式's字段标签
- 禁用JavaScript,<noscript>标签,我们可以做验证
- Highcharts--Can't将样式应用于x轴标签
- 谷歌地图 api javascript 标签未验证
- IE10+中带深化的高图表不显示带下划线的标签样式
- 如何使用jQuery切换标签样式
- 获取正文标签样式属性内容
- onSubmit验证更改标签样式
- Highcharts:在CSS文件中编辑数据标签样式
- 根据需要使用循环和标签元素验证表单