关于class属性的js与CSS不兼容问题
js代码如下:functionvalidate(form){varreturnValue=true;varformElements=form.elements;for(v...
js代码如下:
function validate(form) {
var returnValue= true;
var formElements=form.elements;
for (var i=0; i<formElements.length; i++) {
currentElement=formElements[i];
if (currentElement.value=="" && currentElement.className=="required") {
returnValue=false;
alert("缺少必要字段,请检查录入信息的完整性");
break;
}
}
return returnValue;
}
工作原理是:<input class="required" name="id" type="text" id="id" />
当此文本框的class=required时,则js函数返回false,表单因缺少必要字段停止提交
可是问题是,这样的话,我要如何让此文本框使用css属性?无论怎么测试都不行 展开
function validate(form) {
var returnValue= true;
var formElements=form.elements;
for (var i=0; i<formElements.length; i++) {
currentElement=formElements[i];
if (currentElement.value=="" && currentElement.className=="required") {
returnValue=false;
alert("缺少必要字段,请检查录入信息的完整性");
break;
}
}
return returnValue;
}
工作原理是:<input class="required" name="id" type="text" id="id" />
当此文本框的class=required时,则js函数返回false,表单因缺少必要字段停止提交
可是问题是,这样的话,我要如何让此文本框使用css属性?无论怎么测试都不行 展开
2个回答
展开全部
把下面这句:
if (currentElement.value=="" && currentElement.className=="required") {
改成:
if (currentElement.value==="" && /\brequired\b/.test(currentElement.className)===true) {
然后,
<input class="required" name="id" type="text" id="id" />
就可以增加其他的class了,如:
<input class="required txt width200" name="id" type="text" id="id" />
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询