2015-12-22 35 views
1

考慮我有兩種模式:EmployerJobs如何在點擊軌道中的提交按鈕時在重定向下一頁之前顯示模式?

僱主已創建一個帳戶來發布工作並填寫他的電話號碼。當他填寫一份新工作,然後點擊發布工作按鈕(提交按鈕)。我想檢查他輸入的手機號碼是否已經過驗證,如果不是,我想要一個模式或燈箱彈出,我要求他錯過某個號碼的電話,只要他做了那個頁面被重定向到作業索引頁面。如果他想取消確認,他可以做到這一點,但該頁面將被重定向到任何地方,它仍然會在表單頁面上。

但我不知道該怎麼做。請幫忙!

+1

我們不知道如何去幫助你除非你顯示一些代碼! –

+1

尋找方式是處理'onsubmit'事件的形式。你到目前爲止嘗試了什麼?沒有相關的代碼很難提供幫助。 – kosmos

回答

0

我要檢查是否是他進入已經過驗證的手機號碼或不

我會推薦這在模型級別,然後你就可以通過ajax調用初始化來實現:

#app/models/employer.rb 
class Employer < ActiveRecord::Base 
    has_many :jobs 
    validates :phone_number, numericality: { only_integer: true } 
end 

#app/models/job.rb 
class Job < ActiveRecord::Base 
    belongs_to :employer 
end 

我不知道你的後臺...它也似乎你正在使用的Rails 3,你一定要看看那個更新(考慮Rails 5 is almost out)。

這會給你在應用程序級驗證,這將使你的請求發送到控制器&已經響應由Rails的直接提供:

#app/views/jobs/new.html.erb 
<%= form_for @job, remote: true do |f| %> 
    <%= f.submit %> 
<% end %> 

#app/controllers/jobs_controller.rb 
class JobsController < ApplicationController 
    respond_to :js, :json, :html 
    def new 
     @job = Job.new 
     @job.save 
    end 
end 

#app/assets/javascripts/application.js 
$(document).on("ajax:error", "form#new_job", function(xhr, status, error) { 
    alert(xhr.responseText); 
}); 
0

您可以觸發表單標籤上的onsubmit事件。

調用方法onsubmit的形式並從該方法中激發ajax。檢查手機號碼是否經過驗證,並返回truefalse。然後從Ajax成功函數檢查值(true/false),如果該值爲false,則顯示模態並返回false,否則返回true。

相關問題