Ruby on rails 为什么单击禁用的提交按钮仅在Internet Explorer 8中提交表单?

Ruby on rails 为什么单击禁用的提交按钮仅在Internet Explorer 8中提交表单?,ruby-on-rails,internet-explorer-8,form-submit,Ruby On Rails,Internet Explorer 8,Form Submit,在Rails 3应用程序中,我有以下表单: <%= form_tag("/lounge/add_new_message", :id => "new_message_form", :remote => true) do %> <%= text_area_tag("new_message_area", nil, :maxlength => 1000) %> <%= submit_tag("Send", :id => "new_messag

在Rails 3应用程序中,我有以下表单:

<%= form_tag("/lounge/add_new_message", :id => "new_message_form", :remote => true) do %>
  <%= text_area_tag("new_message_area", nil, :maxlength => 1000) %>
  <%= submit_tag("Send", :id => "new_message_button", :disabled => true) %>
<% end %>
它确实会在警报框中显示“true”

我试图创建一个最小的例子来说明这一点,但没有成功


出现这种奇怪行为的原因是什么?

尝试在提交事件上输入一个返回false。例如:

$('form').submit(function() {
  return false;
});

希望有帮助

我想知道-这可能是由于远程表单中按钮上的“onclick”事件造成的吗?禁用的按钮仍然是“可点击”的,它可能会将其传递给表单提交功能。

这似乎是IE8中的某种缺陷。我不能使用Christian的解决方案,因为我的应用程序中的另一个脚本只允许我发出一个提交,我必须等待服务器的响应才能提交另一个(在Christian的情况下,这是永远不会发生的)。因此,我解决了这个问题,没有使用提交按钮,而是使用普通按钮并调用javascript方法(也使用JQuery)

例如,使用“onclick”参数来触发脚本

    <form name="MyForm" ...etc etc...>
    <input type="button" name="delBtn" value="Click here to delete" onclick="deleteButtonClicked(this)">
    </form>

希望这有帮助

        function deleteButtonClicked(button){ /*pass button reference*/
          if(button.disabled == false){ /*only do something when button is enabled*/
            $('#action').val("delete"); /*in case of multiple submit buttons, indicate which button is used*/
            $('#MyForm').submit(); /*call the form-submit manually*/
            }
        }
    <form name="MyForm" ...etc etc...>
    <input type="button" name="delBtn" value="Click here to delete" onclick="deleteButtonClicked(this)">
    </form>