我试图使用ajax验证检查制作注册表单。 验证检查没问题。当表单上的字段出现问题时,我会让它显示一个cross.png图像。
但我接下来要做的是不要让访问者在出现问题时申请注册表。
我试图通过
检查错误if(document.getElementById('username_error_icon').innerHTML!='<img src="cross.png" width="15" height="15" />'){
document.form1.submit();
}
哪个不起作用:/ 我愿意接受建议 请帮忙:/
答案 0 :(得分:1)
元素的确切innerHTML值不是所有浏览器都是常量的。你不应该依赖它。有些浏览器重新排序属性顺序,重写“src”的路径。
你应该做点什么:
function isValid() {
// Do your test and return true/false
}
// ...
function functionWhereYourCodeIs() {
if (isValid()) {
document.form1.submit();
}
}
答案 1 :(得分:1)
验证这样的东西并不是一个好主意,比较两个可以改变的字符串。
相反,我建议你设置一个像bErrOccurred = true
这样的变量,你可以将图像的来源设置为cross.png,然后你的if语句应如下所示:
if(!bErrOccurred) {
document.form1.submit();
}
答案 2 :(得分:1)
如果你还想这样做,你可以这样做
<div id="username_error_icon">
<img id="myValidationImage" src="cross.png" width="15" height="15" />
</div>
<script type="text/javascript">
var validationImage = document.getElementById('myValidationImage').src;
var imageName = validationImage.lastIndexOf('.');
validationImage = validationImage.substring(validationImage.lastIndexOf('/') + 1, imageName < 0 ? validationImage.length : imageName);
if (validationImage != "cross")
document.form1.submit();
</script>
答案 3 :(得分:0)
好吧因为看起来我需要更改整个ajax代码,只能将验证结果作为变量从php中获取,而不需要任何html标签等。
答案 4 :(得分:0)