【发布时间】:2014-01-21 03:15:24
【问题描述】:
我遇到了这个出色解决方案的后续问题: Select checkbox when clicking in textarea (JavaScript?).
我需要将解决方案应用于同一表单中的多个文本框。是否有可能以任何方式将代码更改为这样的内容(不起作用):
<html>
<body>
<textarea id="iamtextarea" rows="4" cols="10" onfocus="onFocusTextArea('iamtextarea');" onblur="onBlurTextArea('iamtextarea');">Enter some text in textbox</textarea>
<input type="checkbox" name="iamcheckbox" id="iamcheckbox" checked="checked"> I am checkbox<br>
<input type="hidden" name="hiddenString" id="hiddenString" value="Enter some text in textbox">
</body>
</html>
<script type="text/javascript">
function onFocusTextArea(variableName) {
document.getElementById("iamcheckbox").checked = false;
}
function onBlurTextArea(variableName) {
if(document.getElementById(variableName).value==document.getElementById("hiddenString").value) {
document.getElementById("iamcheckbox").checked = true;
}
}
</script>
我想要做的是将 textarea 的变量 id 传递给 javascript 函数,这样我就可以对多个 textarea 使用相同的函数。这可能吗?
【问题讨论】:
-
为什么不给不同的文本区域分配不同的 ID 并通过 DOM 引用它们呢? document.getElementById('yourTextAreaID).value ? (编辑,然后将 id 传递给您的函数..?)
-
是的,这是可能的,而且您所拥有的看起来是正确的。至少它对我“有效”:jsfiddle.net/4n3ux。究竟什么对你“不起作用”?
-
不是每个文本区域都需要一个函数吗?
-
我的错。由于习惯于编写 PHP,我将 $ 放在 JavaScript 中的变量中。出于某种原因,我在这里发布代码时并没有犯那个错误,所以我花了一段时间才弄清楚出了什么问题。
标签: javascript function variables