尝试使用getElementsByName选择多个“时出错”;占位符;(JavaScript)
我的这个脚本有一个函数,它不是按我希望的方式工作的。看一下脚本,函数名为display_Value():尝试使用getElementsByName选择多个“时出错”;占位符;(JavaScript),javascript,Javascript,我的这个脚本有一个函数,它不是按我希望的方式工作的。看一下脚本,函数名为display_Value(): JavaScript 你好。您输入的值为:并在下面重复 函数noValue()和changeValue()使原始值在焦点上消失,如果蓝色字段为空,则返回。那部分有效。单击按钮时,文本框中的值应显示在-标记中。那是不会发生的。使用隐藏的隐藏文本会按我的要求显示,但不会显示值。表单被破坏了,就像我想的那样。我哪里出错了?:) 注:如果你想知道“Skriv dit navn her”是什么
JavaScript
你好。您输入的值为:并在下面重复
函数noValue()和changeValue()使原始值在焦点上消失,如果蓝色字段为空,则返回。那部分有效。单击按钮时,文本框中的值应显示在
-标记中。那是不会发生的。使用
隐藏的隐藏文本会按我的要求显示,但不会显示值。表单被破坏了,就像我想的那样。我哪里出错了?:)
注:如果你想知道“Skriv dit navn her”是什么意思,它在丹麦语中的意思是“在这里写下你的名字”
编辑
我再次隔离了部分代码。我发现,如果我替换getElementsByName(“占位符”).innerHTML代码>带有getElementById(“占位符”).innerHTML
并用ID=“placeholder”指定第一个
,该值显示在特定的
中。然而,这并不是我想要的。我想在所有3个占位符中显示该值-如何显示?
另一次编辑
我知道将ID分配给所有占位符可以使这个脚本工作;我对此不感兴趣。我希望函数以尽可能少的文本显示所有占位符中的值,并且不重复。我认为这就是所谓的干/死:)用以下内容替换显示值功能:
function display_Value() {
var val = document.getElementById("txt").value;
if (val != "Skriv dit navn her" && val != "") {
document.getElementsByName("placeholder").innerHTML = val;
document.getElementById("hidden").style.visibility="visible";
destroy("destroy")
}
}
您获取的是占位符的值,而不是对它的引用。因此,价值没有任何意义。您需要将其直接分配给占位符的innerHTML。将显示值函数替换为:
function display_Value() {
var val = document.getElementById("txt").value;
if (val != "Skriv dit navn her" && val != "") {
document.getElementsByName("placeholder").innerHTML = val;
document.getElementById("hidden").style.visibility="visible";
destroy("destroy")
}
}
您获取的是占位符的值,而不是对它的引用。因此,价值没有任何意义。您需要将其直接分配给占位符的innerHTML。document.getElementById只返回一个元素。一个Id应该是唯一的,并且不会在三个标签上重复
因此,您可以为您的3个跨度指定3个不同的ID,并使用3行不同的javascript代码设置值
或者,您可以使用jQuery之类的工具,并为您的跨度提供一个类:
<span class="placeholder" />
document.getElementById只返回一个元素。一个Id应该是唯一的,并且不会在三个标签上重复
因此,您可以为您的3个跨度指定3个不同的ID,并使用3行不同的javascript代码设置值
或者,您可以使用jQuery之类的工具,并为您的跨度提供一个类:
<span class="placeholder" />
您可以通过删除可用的部分来减少代码,直到只剩下不可用的部分。另外,关于javascript的那些评论在一代人之前就已经过时了,我想我知道,我只是为了确保:)一些奇怪的人仍然手动关闭javascript:)作为对第一件事的回应,你写道——我做到了!我仍然找不到所有出错的源代码…您可以通过删除可用的部分来减少代码,直到只剩下不可用的部分。另外,关于javascript的那些评论在一代人之前就已经过时了,我想我知道,我只是为了确保:)一些奇怪的人仍然手动关闭javascript:)作为对第一件事的回应,你写道——我做到了!我仍然找不到出错的来源…尝试在var val
行之后添加警报<代码>警报(val)代码>。。有价值吗?是的,这很奇怪。。。我认为错误可能在getElementsByName(“占位符”)中。innerHTML行(检查我的更新以获得“证明”)您可以只使用ID。。我甚至没有注意到。使用真实的ID和GetElementById在这个脚本中会有很多占位符,为它们使用ID都需要一行脚本;我想避免:)你知道任何。。。嗯,它叫什么?方法?对于返回多个元素的document对象,就像getElementsByName一样?您希望获取一个字符串并同时将其放入所有占位符中?。。。我不确定这是否有意义。您应该查看jQuery,我将不再使用它。请尝试在var-val
行之后添加警报<代码>警报(val)代码>。。有价值吗?是的,这很奇怪。。。我认为错误可能在getElementsByName(“占位符”)中。innerHTML行(检查我的更新以获得“证明”)您可以只使用ID。。我甚至没有注意到。使用真实的ID和GetElementById在这个脚本中会有很多占位符,为它们使用ID都需要一行脚本;我想避免:)你知道任何。。。嗯,它叫什么?方法?对于返回多个元素的document对象,就像getElementsByName一样?您希望获取一个字符串并同时将其放入所有占位符中?。。。我不确定这是否有意义。你应该看看jQuery,这是我将要用到的所有东西。我在这里看到了优点和缺点。首先:我想避免使用jquery。第二:在这个脚本中还有很多其他占位符,所以我想避免使用id来表示它们;这会使整个脚本有点不可读…我在这里看到了优点和缺点。首先:我想避免使用jquery。第二:在这个脚本中还有很多其他占位符,所以我想避免使用id来表示它们;这会使整个脚本有点不可读。。。