0
Iam尝试创建一个按钮,该按钮在用户单击它时显示一个表单。我已经尝试检查我的代码,并且我没有发现任何错误,但该按钮不起作用。请帮忙!Javascript尝试在Ruby中隐藏和显示表单时不工作
//load turbo scripts
document.addEventListener('turbolinks:load', function() {
//assign elements in to variables
const openProjectButton = document.getElementById('new-project-button')
const projectPopover = document.getElementById('new-project-popover')
//check if elements exist
if (openProjectButton && projectPopover) {
//attach listener
openProjectButton.addEventListener('click', function() {
//if the popover class contains is-hidden remove it else return nill.
return projectPopover.classList.contains('is-hidden') ? projectPopover.classList.remove('is-hidden') : null
}, false)
//attach listener to cancel button
const cancelProjectpopover = document.getElementById('cancel-project-popover')
cancelProjectpopover.addEventListener('click', function() {
//add back is-hidden
return projectPopover.classList.add('is-hidden')
}, false)
}
})
<div class="col-md-1 mr-auto">
<button id="new-project-button" class="btn btn-primary mr-auto">New</button>
<div id="new-project-popover" class="project-popover is-hidden">
<div class="form-group">
<input type="text" placeholder="Name this project" class="form-control">
</div>
<button type="submit" class="btn btn-success">Save</button>
<button id="cancel-project-popover" class="btn btn-secondary">Cancel</button>
</div>
</div>
到底如何做呢。我已经安装了gem,并将它需要在我的application.js文件中 – ian
您可以尝试使用事件'page:load'吗?我在这里猜测,因为我没有turbolinks的经验,只是解析文档 –