在jQuery-UI对话框上显示错误消息

时间:2011-12-27 14:01:30

标签: jquery ruby-on-rails ruby-on-rails-3 jquery-ui ruby-on-rails-3.1

我正在开发 Rails 应用。我的简单代码如下所示:

模型

class Car < ActiveRecord::BaseWithoutTable
   validates_presence_of :brand
end

控制器

class CarsController < ApplicationController
   def check
      @user_car = Car.new(params[:car]);
      if(@user_car.valid?)
   end
end

视图

<div id="car_check">
<% form_for :car, Car.new(), :url => "car/check" do |f| %>
  <% if flash[:error] %>
      <h2><%= flash[:error] %></h2>
  <%end%>
  ...
<%= f.submit "send" %>
</div>

上述表单div将在 jQuery-ui dialog中打开,如下所示:

$("#car_check").dialog({
    bgiframe: true,
    autoOpen: false,
    width: 500,
    modal: true
  });

当用户提交带有无效数据的car模型表单时,我想在 jQuery-ui <上显示错误消息 / strong> dialog,但是,当按下表单“dialog”按钮时,submit会关闭,这会使用户无法看到错误消息如何摆脱它?

1 个答案:

答案 0 :(得分:0)

当用户点击提交按钮时调用的javascript函数在发生错误时必须返回布尔值false,否则在函数返回后提交表单。

<script type="text/javascript">
function errorCheck()
{
  if (document.getElementById('mystring').value == 'error'
  {
     /* The user typed in "error" */
     return false;
  }
  else
  {
     /* For anything else */
     return false;
  }
}
</script>
<form>
<input type="text" name="mystring" id="mystring">
<input type="submit" value="Submit" onsubmit="errorCheck()">
</form>

This post可能会帮助您使用Ruby代码。我不是Ruby程序员,所以这就是我通过搜索一下找到的。