0

我正在尝试获取.php文档中输入字段的值,并通过触发 OnClick 事件来设置另一个输入字段。

这是我当前的代码

echo" <label onClick=\" document.getElementById(\"hiddenDescriptionField\").value = 'document.getElementById(\"descriptionField\").value'; ";

如何设置我hiddenDescriptionFielddescriptionField使用 javascript?

4

4 回答 4

2

这应该这样做:

echo "<label onclick=\"document.getElementById('hiddenDescriptionField').value = document.getElementById('descriptionField').value; \"";

它应该是 'onclick' 而不是 'onClick',而且你的报价也有点乱——我想我已经修好了。

于 2013-04-10T10:36:11.263 回答
2

我建议将事件侦听器设为非内联(假设您在 id 中添加了一个 id <label>):

$my_script = <<<HIDDEN_DESC
<script>

var hidden = document.getElementById('hiddenDescriptionField'),
    description = document.getElementById('descriptionField');

document.getElementById('my-label').addEventListener('click', function (e) {
  hidden.value = description.value;
}, false);

</script>
HIDDEN_DESC;

(放在这里作为一个heredoc,以适应您当前构建HTML的方法)。

于 2013-04-10T10:40:34.417 回答
1

从此:

document.validateForm.hiddenDescriptionField.value = 'document.descriptionField.value'

也不起作用(您告诉 JavaScript 将值设置为引号之间的字符串),问题可能出在 HTML 元素的命名中。您的 hiddenDescriptionField 名称是否正确?

除此之外,您还可以查看上面代码框的答案,JavaScript 区分大小写,因此 onclick 不起作用。为了测试它,添加一个

alert('test');

到你的代码,你会很容易看到你的代码是否被执行。

于 2013-04-10T10:39:46.947 回答
1

在 HTML 中,这应该可以工作:

<form>
  <input id="hiddenDescriptionField"/>
  <input id="descriptionField" value="My Field Value"/>
</form>

<label onclick="document.getElementById('hiddenDescriptionField').value = document.getElementById('descriptionField').value" >Click me</label>

您可以在此处尝试此代码:

http://jsfiddle.net/m5XyA/

我建议您使用 JQuery 来访问 DOM。

于 2013-04-10T10:56:52.893 回答