I would like to display a button but in a disabled state,to show the user that they already saved an item.
I currently used something like:
<%= button_to 'Save', :disabled => item.is_saved? %>
The generated html looks like:
<form class="button-to" action="/results/save_item/748?class=buttons&disabled=true" method="post">
<div><input type="submit" value="Save">
<input type="hidden" value="+TKyrnA9idfmCkwDycLjHIkSLNou6NMt8R4TI73RezU=" name="authenticity_token">
</div>
</form>
This disables the action by setting the disabled=true option. However, the button is still displayed. Is there a way to show the button in a disabled state if the condition is true?
thanks
By using the tabulator key and navigating within a form the screen readers will ignore the existence of any disabled button. Now close your eyes and imagine the screen reader reads out all the inputs of a form. You know you're within a form. And normally a form gets submitted by hitting a button.
Sometimes disabled buttons are designed in a way that they cannot be read by a screen reader (buttons are not focusable, and hence users can't reach them with a keyboard).
You have to specify URL first or let it empty. In your case :disabled is a param[:disabled].
<%= button_to 'Save', {}, :disabled => item.is_saved? %>
<% if item.is_saved? %>
<%= button_to 'Save' %>
<% end %>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With