Javascript rails视图中的文本区域在js中返回null
轨道4。我有一个视图,其中包含以下代码,我在文本区域中获取输入,并希望将代码镜像模式应用于文本区域2的代码。不幸的是,我无法阅读文本区域1的内容。即使我将代码粘贴到文本区域1并点击submit按钮,但当我在JS文件中收到它时,它始终为空 类别/show.html.erb:Javascript rails视图中的文本区域在js中返回null,javascript,jquery,ruby-on-rails-4,codemirror,Javascript,Jquery,Ruby On Rails 4,Codemirror,轨道4。我有一个视图,其中包含以下代码,我在文本区域中获取输入,并希望将代码镜像模式应用于文本区域2的代码。不幸的是,我无法阅读文本区域1的内容。即使我将代码粘贴到文本区域1并点击submit按钮,但当我在JS文件中收到它时,它始终为空 类别/show.html.erb: <div id="ccontainer"> <div class="hero-spacer"> <%= text_area_tag :cols => "30", :rows =>
<div id="ccontainer">
<div class="hero-spacer">
<%= text_area_tag :cols => "30", :rows => "10", :id => "myText", :class => "editor1-pane" %>
<%= text_area_tag :cols => "30", :rows => "10", :id => "myText2", :class => "editor2-pane" %>
<%= button_to_function "✓", '$(this).toggleClass("buttonGrey buttonGreen");', :class => "buttonGrey" %>
</div>
</div>
“30”,:rows=>“10”,:id=>“myText”,:class=>“editor1窗格”%>
“30”,:rows=>“10”,:id=>“myText2”,:class=>“editor2窗格”%>
“buttonGrey”%>
categories.js有:
$(document).ready(function () {
$(".buttonGrey").on("click", function() {
alert("Confirmed"+ $('#myText')); <--- Always returning null
console.log($('.editor1-pane'));
if(document.getElementById("myText").value == null){
alert('NULL >>');
}
var myCodeMirror = CodeMirror.fromTextArea(document.getElementById('myText'), {
lineNumbers: true,
matchBrackers: true,
styleActiveLine: true,
theme: "eclipse",
mode: { name: "xml", htmlMode: true }
}
);
// do something
document.getElementById("myText2").value = myCodeMirror.getValue();
})
});
$(文档).ready(函数(){
$(“.buttonGrey”)。在(“单击”,函数(){
警报(“已确认”+$(“#myText”);Rails希望text\u area\u标记
后面跟着名称、内容、选项
,但您刚刚提供了选项
因此,Rails没有将“myText”指定为id,而是将整个选项列表指定为名称(检查HTML输出以查看此内容),而没有设置任何选项。因此,jQuery选择器找不到任何内容
试试这个:
<%= text_area_tag "myText", nil, :cols => "30", :rows => "10", :class => "editor1-pane" %>
“30”,:rows=>“10”,:class=>“editor1窗格”%>
这应该将文本区域的id和名称设置为“myText”,并正确设置选项