javascript文档.getElementById()。值仅适用于数字,不适用于字符串
我有一个基于AJAX的应用程序,它根据用户输入更新表单中的文本字段。文本字段定义如下:javascript文档.getElementById()。值仅适用于数字,不适用于字符串,javascript,ruby-on-rails,innerhtml,getelementbyid,Javascript,Ruby On Rails,Innerhtml,Getelementbyid,我有一个基于AJAX的应用程序,它根据用户输入更新表单中的文本字段。文本字段定义如下: <%= form.text_field :queue, {:class => "queue_class", :id => "queue", :size => 40} %> 那就好了。但如果我将其设置为字符串值,如: @returned_value='abcxyz' 然后它就不工作了,文本字段没有更新,我也没有收到任何错误消息,就好像它什么也没做一样 我也试过: documen
<%= form.text_field :queue, {:class => "queue_class", :id => "queue", :size => 40} %>
那就好了。但如果我将其设置为字符串值,如:
@returned_value='abcxyz'
然后它就不工作了,文本字段没有更新,我也没有收到任何错误消息,就好像它什么也没做一样
我也试过:
document.getElementById('queue').innerHTML = <%= @returned_value %>
document.getElementById('queue')。innerHTML=
但无论是在@returned\u value='77777'
还是@returned\u value='abcxyz'
有人能告诉我这里缺少什么吗?您需要引用JavaScript中的字符串:
document.getElementById('queue').innerHTML = '<%= @returned_value %>';
document.getElementById('queue')。innerHTML='';
数字通过
.toString()
强制为字符串,但不带引号的字符串将引发解析器错误。ERb表达式缺少引号:
document.getElementById('queue').value = '<%= @returned_value %>';
document.getElementById('queue')。值=“”;
(它也应该是JavaScript转义的。)
数字是不带引号的合法JavaScript表达式。任意字符串不是;JS将尝试将其解析为表达式(引用)加上字符串中与JS相关的任何内容。javascript代码生成为字符串,稍后由javascript解释器进行pasred。因此如果生成字符串,则必须在其周围加引号,如下所示:
document.getElementById('queue').value = '<%= @returned_value %>'
document.getElementById('queue')。值=“”
谢谢戴夫,你救了我一天@Rh4没问题。请确保JS escape以避免其他问题。抱歉,Dave,如何“JS escape”?@rh4games With。谢谢Holger,这解决了我的问题
document.getElementById('queue').value = '<%= @returned_value %>';
document.getElementById('queue').value = '<%= @returned_value %>'