出于某些原因,当我在html文档中嵌入javascript时,此代码在这里工作了process_orders.html.erb代码
<script>
function myFunction(val) {
if (val.length == 2) {
document.getElementById('search_button').focus();
alert("Hello! I am an alert box!!");}
}
</script>
<%= form_tag(process_orders_mailers_path, :method => "get") do %>
<%= text_field_tag :id, nil, autofocus: true, onkeyup:"myFunction(this.value)" %>
<%= submit_tag "Search", :name => nil, :id => 'search_button' %>
<% end %>
然而,当我将此代码放在外部js文件中时,它确实有效。这是mailers.js文件中的代码。这是mailers.js文件中唯一的代码。 mailers.js与上述表单所属的控制器名称相同:
function myFunction(val) {
if (val.length == 2) {
document.getElementById('search_button').focus();
alert("Hello! I am an alert box!!");}
}
基本上我想要做的是在文本字段中输入2个字符后显示警报。同样,当所有代码都在html文件中时,它工作正常....感谢您的帮助