【问题标题】:Checking inside of the div tag with innerhtml in javascript?在javascript中使用innerhtml检查div标签的内部?
【发布时间】:2011-04-07 21:04:42
【问题描述】:

我正在尝试使用 ajax 验证检查制作注册表单。 验证检查没问题。当表单上的字段出现问题时,我让它显示一个 cross.png 图像。

但我接下来要做的就是不要让访客在出现问题时申请注册表。

我试图检查错误

if(document.getElementById('username_error_icon').innerHTML!='<img src="cross.png" width="15" height="15" />'){
document.form1.submit();    
}

哪个不起作用:/ 我愿意接受建议 请帮忙:/

【问题讨论】:

  • 这真的应该在 Stack Overflow 上问,而不是 SU,因为这是一个编程问题。您应该会发现社区或版主很快就会为您迁移问题。
  • 您能否发出警报(document.getElementById('username_error_icon').innerHTML) 并告诉我们它显示的内容?

标签: php html javascript ajax dom


【解决方案1】:

元素的确切innerHTML 值并不是在所有浏览器中都是恒定的。你不应该依赖它。部分浏览器重新排序属性顺序,改写“src”的路径。

你应该这样做:

function isValid() {
    // Do your test and return true/false
}

// ...

function functionWhereYourCodeIs() {
    if (isValid()) {
        document.form1.submit();
    }
}

【讨论】:

  • 但问题是在页面上添加 的有效函数是用 ajax 方法调用的 php 代码.所以我不知道如何从一个 php 代码发送图像 html 代码和验证值
【解决方案2】:

验证这样的事情并不是一个好主意,比较两个可以改变的字符串。

相反,我建议您设置一个像 bErrOccurred = true 这样的变量,在其中将图像的源设置为 cross.png,然后您的 if 语句应如下所示:

if(!bErrOccurred) {
    document.form1.submit();   
}

【讨论】:

    【解决方案3】:

    如果你还想这样做,你可以这样做

        <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> 
    

    【讨论】:

      【解决方案4】:

      好吧,看来我需要更改整个 ajax 代码以仅从 php 中获取验证结果作为变量,而无需任何 html 标记等。

      【讨论】:

        【解决方案5】:

        好的,问题解决了。 通过将返回信息的 php 代码更改为 ajax 代码。 我更改了 php 代码以返回没有任何 html 标记但带有 0 或 1 或 2 等的验证结果。 然后更改 javascript 代码以在专用于这些返回值的 html 中进行适当的更改

        【讨论】:

          猜你喜欢
          • 2019-02-23
          • 2014-06-04
          • 2015-09-17
          • 2021-10-08
          • 1970-01-01
          • 1970-01-01
          • 2017-02-28
          • 2022-08-21
          • 2020-12-14
          相关资源
          最近更新 更多