Я работаю над приложением Rails 3. Здесь в представлении отображаются все файлы excel, загруженные пользователем. Кнопка для выполнения всех отмеченных флажков файлов уже присутствовала с удалением для каждого файла отдельно. Теперь Я должен добавить кнопку «удалить», чтобы удалить выбранные файлы. Я добавил, что кнопка n изменила функцию, вызванную этой формой jus, чтобы отобразить «in execute» и «in delete» на данный момент, чтобы проверить, является ли вторая кнопка «удалить» функциональной. Но каждый раз, когда удаляется щелчок, он печатает «in execute» только в cmd. Я думаю, что связанный с AJAX код, написанный в представлении «список», является проблемой. Помощь Pls !! Скажи мне, почему это будет выполняться всегда? Соответствующий код здесь:Добавлена кнопка отправки вызывает функцию самой ранней кнопки
PS: Я ВГА использовал if params[:commit]="Delete"
& if params[:delete_button]
также в controller.rb к, но не помогло
list.html.erb (вид, который отображает все файлы)
<% if @files.length > 0 %>
<h2 id='comments'>Uploaded Excel Files are as listed below for Edit/Delete/Execution</h2>
<div id='checkone' class='hide'>Please check atleast one excel file to execute</div>
<% ajax_str = "new Ajax.Request('/account/execute_testcases', {asynchronous:true, evalScripts:true, onComplete:function(request){adjust_sidebar();Element.show('msg');Element.hide('waitid');Element.hide('disableexecuteid');Element.show('executeid');}, onLoading:function(request){Element.show('waitid');Element.hide('msg');Element.hide('executeid');Element.show('disableexecuteid');}, parameters:Form.serialize(this)}); return false;".html_safe %>
<%= form_for 'file_names', :url => {:controller => 'account', :action => 'execute_testcases'}, :remote => true, :html => {:name => 'frmExecute', :onsubmit => ajax_str }, :id =>'execute_tc' do |f| %>
<table>
<% if @file_count > 1 && @error_in_all_files == false %>
<tr>
<td>
<input type='checkbox' name='chkAll' onclick='checkAll();'>
<span class='text'>Check All/Decheck All</span>
</td>
</tr>
<% end %>
</table>
<table class='upload'>
<% for a in @files %>
<tr>
<td>
<% file_id = a.id.to_i %>
<% if(@excel_errors[file_id].nil? || @excel_errors[file_id].empty?) && a.file_type.to_i != 1 %>
<input type='checkbox' name = "excelfile[]" value="<%= a.excel_filename %>,<%= a.excel_filename_with_timestamp %>">
<% else %>
<input type='checkbox' name = "excelfile[]" value="<%= a.excel_filename %>,<%= a.excel_filename_with_timestamp %>" disabled=true>
<% end %>
<a href="open_excel_file/<%= a.id %>" title='Click to open' class='nodecoration'><%= a.excel_filename %></a>
</td>
<td>
<%= link_to(image_tag("/images/b_edit.png", :border => 0, :title => 'Edit'), :action => 'upload_file', :file_id => a.id) %>
</td>
<td>
<a href="delete/<%=a.id %>"><img src='/images/b_drop.png' border=0 title='Delete' onclick="return confirm('This will delete the related reports too. Are you sure to delete?');"></a>
</td>
<td>
<%
if [email protected]_errors[file_id].nil? && [email protected]_errors[file_id].empty?
@joined_excel_errors = @excel_errors[file_id].join(', ')
%>
<a href='#' onclick="show_excel_errors(<%=file_id%>);" title="Error">Error</a>
<% end %>
</td>
</tr>
<tr id="excel_error_<%=file_id %>" style='display:none;'>
<td colspan=4>
<% if [email protected]_errors[file_id].nil? && [email protected]_errors[file_id].empty? %>
<div class="padder">
<% for error_value in @excel_errors[file_id] %>
<font color='maroon'><%= error_value %></font><br>
<% end %>
</div>
<% end %>
</td>
</tr>
<% end %>
<tr><td> </td></tr>
<tr>
<td>
<% if @error_in_all_files == false %>
<span class='executebutton' id='executeid'>
<%= f.submit "Execute", name: 'execute_button', :onclick =>"return checkSelected();" %>
</span>
<span class='deletebutton' id='deleteid'>
<%= f.submit "Delete", name: 'delete_button', :onclick =>"return checkSelected();" %>
</span>
<% end %>
<span id='disableexecuteid' class='executebutton' style='display:none;'>
<input type='submit' value="Execute" disabled="disabled">
</span>
<span id='waitid' style="display:none;" class='text'>
<br>Executing Test Cases...Please wait...<%= image_tag("/images/wait26trans.gif", :border => 0) %>
</span>
<span id='msg' style="display:none;" class='text'>
<br><br> Click here to <%= link_to 'View Test Results', {:controller => 'account', :action => 'recent_test_results'}, :class => 'brownlink' %>
</span>
</td>
</tr>
</table>
<span id='subject_list'>
</span>
<% end %>
<% else %>
No test case sheets found!
<br><br>
<%= link_to '>> Upload File', {:controller => 'account', :action => 'upload_file'}, :class => 'brownlink' %>
<% end %>
<% for i in 1..10 %>
<div> </div>
<% end %>
controller.rb
def execute_testcases
if !params[:execute_button].nil?
puts "in execute"
# file_names = []
# originalfile_filewithtime = []
# original_file_map = {}
# originalfile_filewithtime = params[:excelfile]
......
# SOME CODE HERE
......
# render :update do |page|
# page.replace_html :subject_list, :partial => 'show_output', :locals => {:new_file_map => @new_file_map}
# page.visual_effect :highlight, 'subject_list', :duration => 2
# flash[:display][email protected]
#end
# puts @execmsg
elsif !params[:delete_button].nil?
puts "in delete"
end
end
@Dave Newton, Hey Dave, могу я знать, что вы отредактировали в вопросе? –
Да, нажав ссылку, которая указала, когда было сделано редактирование. Я удалил тег из заголовка (у нас уже есть теги), удалили гигантские заголовки из имен файлов и удалили ненужные теги. Если бы я не был на моем телефоне, я бы также удалил много ненужного HTML и кода, чтобы помочь сузить вопрос: см. [Малый, самосохраненный, правильный пример] (http://sscce.org/) для больше информации, но вкратце, что вопросы должны включать только контекст, необходимый для их понимания. –