【问题标题】:show error message on jQuery-UI dialog在 jQuery-UI 对话框上显示错误消息
【发布时间】:2011-12-27 14:01:30
【问题描述】:

我正在开发一个 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-uidialog中打开,如下所示:

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

当用户提交带有 invalid 数据的 car 模型表单时,我想在 jQuery-ui 上显示 错误消息 > dialog,然而,dialog 在表单“submit”按钮被按下时被关闭,这使得用户看不到错误信息如何摆脱它?

【问题讨论】:

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


    【解决方案1】:

    当用户点击提交按钮时调用的 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 程序员,所以这只是我通过搜索找到的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-12
      • 1970-01-01
      相关资源
      最近更新 更多