如何将form_for与非输入元素一起使用
How do I use form_for with non-input elements?
我想在我的视图中使用 Ace Editor 来创建帖子对象,而不是文本区域,但 Ace Editor 需要使用<div>
来包含其内容。我是 Ruby on Rails 4 的新手,我正在尝试弄清楚如何使用 Ace 编辑器安全地提交用户输入,并在提交帖子后将用户重定向到显示帖子的页面。这是我目前提交尚未使用 Ace 编辑器<div>
的帖子的表格......
<%= form_for(@post) do |f| %>
<div class="field">
<%= f.label :title %><br>
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :description %><br>
<!-- I'd like to replace this text_area with the ace editor div-->
<%= f.text_area :description %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
如何将 f.text_area 元素替换为<div>
并将其内容包含在表单的 post 请求中?
使用新版本的ace,您也可以使用textarea
见 http://jsbin.com/jodeyugenu/1/edit
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="http://ajaxorg.github.io/ace-builds/src/ace.js"></script>
<style>
#ta { position: absolute; top: 0; left: 0; right: 0; bottom: 0;}
</style>
</head>
<body>
<form id="myForm">
<div style="position:relative;height:200px;width:300px">
<textarea id="ta">text</textarea>
</div>
<input type="submit" value="submit" >
</form>
</body>
<script>
var textareaEl = document.getElementById("ta");
// update textarea value before submitting
var form = textareaEl.form
form.addEventListener("submit", function() {
textareaEl.style.visibility = "hidden"
textareaEl.value = editor.getValue()
form.appendChild(textareaEl)
});
// create editor and set id for it
editor = ace.edit(textareaEl)
editor.container.id = "ta"
// add a keyboard shortcut for submitting
editor.commands.addCommand({
name: "submit",
exec: function() {
form.submit()
},
bindKey: "Ctrl-Enter"
})
</script>
</html>
相关文章:
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 访问代码生成的输入元素上的keyup事件
- 如何通过jQuery发送选定的元素和文本输入
- 使用 jQuery,当我在输入框外部单击时,如何更改输入元素的值
- 从IE中的不同元素调用时,文件输入控件未正确启动
- 使用jQuery切换来显示内容,但防止在用户单击输入元素时关闭
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 如何在dom元素中插入输入标记数据插件
- 根据输入文本按元素排序,AngularJS
- 更新最大滑块元素输入类型=文本
- 角度/动画引导元素(输入组)
- 如何创建表单元素输入框,标签使用javascript onclick
- 绑定到单击事件以查找子元素输入值
- 特定值元素输入未被读取
- 在JavaScript中将用户输入的元素输入到数组中
- JQuery隐藏元素输入问题遍历
- 如何找出表单是否没有任何元素(输入,选择)在jquery
- 使用表单元素(输入)初始化放大弹出菜单
- 如何获取所有子元素输入
- 基于子元素输入控制父元素:focus