Javascript更改innerHTML或innerText的值不起作用

时间:2017-10-09 18:06:09

标签: javascript getelementbyid

我正在处理一个表单(来自Laserfiche Forms应用程序),我正在尝试更改当前显示为“自动填充”的按钮上的文本,这是非描述性的,因为我有5个按钮。

一个小小的背景故事:我的代码曾经工作过,然后突然有一天它没有,并且创建了一个错误,用户只能看到“提交”按钮和表单的标题,但是我将下面的代码注释掉,表单再次起作用,然后我再次使用那些非描述性的按钮。

我的代码有问题吗?

document.getElementById("lookup1573").innerHTML = "Fill Section";

按钮检查时,我看到一些奇怪的东西:

<button id="lookup1573" class="autofill" type="button vo="d">Auto fill</button>

2 个答案:

答案 0 :(得分:0)

你在html中输了一个拼写错误:

viewQ

这是正确的方法:

type="button vo="d"

以下是完整示例: https://jsfiddle.net/o2er21v0/

答案 1 :(得分:0)

这不是拼写错误,而是Forms的客户参数。

因此,这是在表单中使用此类事物的简单方法:

  1. 首先,提供所有元素类。除了使用Forms之外,建议使用ID来引用您的元素,而使用Forms这样做会给您带来十倍的工作量。
  2. 要注意有关“自动填充”按钮的信息:它们仅出现在启用了按钮的查找中(除非您使用的是旧版的Forms),并且将出现在查找中的最后一个元素旁边(如果这样)。 / li>
  3. 要更改自动填充按钮的名称,必须在页面加载后
  4. 下面是示例代码,假设具有自动填充按钮的元素已将其指定为“ vendorName”类。

  5. “ vo”实际上非常有用,因为您可以使用它轻松地与您的班级与字段内容进行交互。在下面的示例中,我将更改字段中的内容,而不必进入代码来确定id的数量。这样,您制作的任何代码都将更易于移植,然后可以在其他项目中实现它们,您的ID编号将有所不同。这是如此灵活,以至于“ vendorName”元素是普通文本输入,多行文本区域还是下拉菜单都无所谓,因为同一段代码将起到相同的作用。

4:

$(function() {
    $( ".vendorName .autofill").text( "Fill Section" );
});

5:

$( ".vendorName [vo]").val( "A New Vendor Name" );

Forms已经使用jQuery库,因此可以正常工作。请记住给所有元素一个类(我通常将其命名为变量)。您还可以通过用空格分隔各个类来为其提供多个类。