文本框元素的值

问题描述 投票:0回答:1

我想使用一个textarea元素的值,但我无法得到它。

function postComment(element) {
  const content = element.previousSibling.value;
  console.log(content);
}
<form action="" class="comment-editor">
  <div class="form-group">
    <textarea class="form-control" name="" id="someid" rows="4"></textarea>
    <button type="button" class="btn btn-primary my-2" onClick="postComment(this)">Comment</button>
  </div>
</form>

它给 undefined 输出

javascript dom
1个回答
2
投票

你可以试试下面的代码

function postComment(element) {
  const content = element.parentNode.firstElementChild.value
  console.log(content);
  return false;
}
<form action="" class="comment-editor">
  <div class="form-group">
    <textarea class="form-control" name="" id="someid" rows="4"></textarea>
    <button type="button" class="btn btn-primary my-2" onClick="return postComment(this)">Comment</button>
  </div>
</form>

2
投票

function postComment(element) {
  const content = element.previousElementSibling.value;
  console.log(content);
}
<form action="" class="comment-editor">
  <div class="form-group">
    <textarea class="form-control" name="" id="someid" rows="4"></textarea>
    <button type="button" class="btn btn-primary my-2" onClick="postComment(this)">Comment</button>
  </div>
</form>

你的问题是,你使用 previousSiblingpreviousElementSibling.


0
投票

由于您已经有了一个ID,用于 <input> 字段,我会用下面的内容代替。

function postComment() {
  const content = document.getElementByID("someid").value;
  console.log(content);
}

而且这里不需要参数

onClick="postComment();"

0
投票

你可以在你的代码中通过这样的修改来获取值。

const content = document.querySelector("#someid").value;
© www.soinside.com 2019 - 2024. All rights reserved.