javascript - 从 OnClientClick 调用函数时在 JavaScript 中返回 true

标签 javascript asp.net

当我使用此代码时:

<asp:Button runat="server" ID="Block" Text="text"  OnClientClick="return BlockCheck()"   OnClick="BtnBlockClick"  CausesValidation="False"/>


function BlockCheck() {
            if (x) {
                document.getElementById('#ErrorText').text('Error');
                return false;
            }
        return true;
    }

但这部分:document.getElementById('#ErrorText').text('Error');<br>到 返回真。

最佳答案

首先,getElementById 的参数中不需要 #:它确实应该这样写...

document.getElementById('ErrorText')

使用 # 会尝试查找 ID 字面等于 '#ErrorText' 的元素 - 这会失败,因此该函数将返回 。之后任何使用 null 的尝试(特别是调用它的某些方法)都将失败并引发错误。

其次,您似乎混合了 jQuery 函数和 JavaScript 函数:DOMElements 中没有 text 方法。严格来说,您必须检查 textContent 支持,然后使用它;如果不支持,请改用 innerText。例如:

var el = document.getElementById('ErrorText');
el['textContent' in el ? 'textContent' : 'innerText'] = 'Error';

如果您的项目不必支持 IE8,显然不需要检查。

关于javascript - 从 OnClientClick 调用函数时在 JavaScript 中返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20422675/

相关文章:

html - 为什么我不能在 ASP.NET 的 HTML 属性中使用 ContentPlaceholder?

c# - 在 Repeater 控件中显示图像

c# - 组合框值加载问题

c# - 自定义主体对象与 ASP.NET 中的成员资格 API?

javascript - 确定鼠标在图像上的位置

javascript - 在 $.load() 之后执行 $(document).ready() 是否可能或是否有替代方案

javascript - Firefox 无法访问同一域上的 iframe 打印

javascript - Gatsby - 如何将 ENABLE_GATSBY_REFRESH_ENDPOINT 设置为 true

php - 从数据库动态填充 <select>

c# - 为什么我的 bool 变量的值在回发之间丢失