我在Ruby on Rails中实现。我想用Jquery做什么。我想做的只是:我有一个file_field_tag,让用户上传文件,当用户选择文件时,提交按钮已经启用。因此,只要用户没有选择文件,用户就无法点击该按钮。
这是我写的JQuery
$(document).ready(
function(){
$('input:file').change(
function(){
if ($(this).val()) {
$('input:submit').attr('disabled',false);
// or, as has been pointed out elsewhere:
// $('input:submit').removeAttr('disabled');
}
}
);
});
我的观点如下:
<h2>Import projects and users</h2>
<% form_tag({:action => 'match'}, {:multipart => true, :id => 'file_form_id'}) do %>
<fieldset title="File">
<legend>File</legend>
<table>
<tr>
<td>
<label for="dump_file">
Select a CSV File :
</label>
</td>
<td >
<%= file_field_tag 'file', :size => 500 %></p>
</td>
</tr>
</table>
<%= submit_tag 'Submit', :disabled => true -%>
<% end -%>
我认为这是正确的。但是我必须把这个javascript放在哪里?我真的不知道把它放在哪里。我已经读过将它放在application.js中,但是当我这样做时,没有任何反应。按钮保持禁用状态。有谁知道我错过了什么?
答案 0 :(得分:0)
看起来你删除了那些需求行:
// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
//= require jquery
//= require jquery_ujs
//= require_tree .
答案 1 :(得分:0)
您编写的javascript位于/public/javascripts/application.js。您还需要/ public / javascripts /中的jquery.js或jquery.min.js的副本,或者您需要包含一个公开可用的版本。确保在application.js。
之前在<head>
中加载了jquery
示例:
<%= javascript_include_tag 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js', 'application' %>