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-UI dialogで開かれます。

$("#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のプログラマーではないので、これはちょっと調べて見つけたものです。

関連する問題