javascript - 从 previousElementSibling 获取隐藏的输入值

标签 javascript

我的 View 中有不止一个 csrf token 字段,因为我有不止一个发生发布请求的地方。

<input type="hidden" name="_csrf" value="<%= csrfToken %>">
<button type="submit" class="button editItem" data-id="<%= product._id %>">Edit Item <i class="fa fa-arrow-circle-right"></i></button>

在尝试了不同的 DOM 导航之后,我似乎可以使用 previousElementSibling 访问整个输入,但我无法提取实际值,即:来自它的 csrf token 。

const editListingBtn = document.querySelector('.editItem');
if (editListingBtn) {
  editListingBtn.addEventListener('click', e => {
    const csrf = editListingBtn.previousElementSibling.querySelector('[name="_csrf"]').value;

尝试这样做会给我一个无法读取 null 的属性“值”。

最佳答案

应该不需要使用querySelectorpreviousElementSibling应该给你隐藏的输入,改成这样:

const editListingBtn = document.querySelector('.editItem');
if (editListingBtn) {
  editListingBtn.addEventListener('click', e => {
    const csrf = editListingBtn.previousElementSibling.value;

关于javascript - 从 previousElementSibling 获取隐藏的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54311659/

相关文章:

javascript - 选择中最接近的匹配

javascript - 如何使用 PDF.js 显示 PDF(以 Base64 存储)中的所有页面?

javascript - 如何暂停用 js 和 html5 制作的简单 Canvas 游戏?

javascript - 将长文本从脚本浏览器 (phantomjs) 发布到 php 脚本不会超过 2kb/2400 个字符

javascript - 无法从 javascript 中的对象获取属性,但可以在记录其父级时将其打印到控制台

javascript - 如何使用 ruby​​ on rails 中的复选框来选择行?

javascript - jScrollPane:当我调用 reinitialise() 时,不会在谷歌浏览器中创建 jspVerticalBar div

javascript - react + 终极版 : Component does not update

javascript - 如果不知道之前做了什么,如何恢复到默认状态?

javascript - 如何播放选定的歌曲?