0

我正在開發一個Rails應用程序。我的簡單代碼如下表示:在jQuery-UI對話框上顯示錯誤消息

模型

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 
    }); 

當用戶提交car模型形式無效數據,我想顯示錯誤消息在jQuery的UIdialog,然而,dialog得到時的形式「submit」按下按鈕關閉,這使得用戶無法看到錯誤消息如何擺脫它?

回答

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程序員,所以這只是我通過搜索找到的。