隨筆-167  評(píng)論-65  文章-0  trackbacks-0

          效果:

          image

          今天一天一直很煩躁,原因是一直沒(méi)搞定一個(gè)問(wèn)題,最后都下班了,還在這研究了下,終于成功了,心里激動(dòng),前面還以為今天火箭輸球,湖人霸道行徑而打抱不平的

          環(huán)境:ruby1.8.6 + rails 2.1.0

          事出原因: 為了實(shí)現(xiàn)防止表單的多次提交

          出錯(cuò)原因:可能是因?yàn)楸韱问莂jax方式請(qǐng)求導(dǎo)致的

          <% form_remote_tag :url => { :action => 'contact' } do %>

          <%= submit_tag '發(fā) 送',:id=>'submit_button',:onclick=>'return submitform();' %>


          <% end %>

          1,剛開(kāi)始我試圖在發(fā)送表單是通過(guò)js控制submit_tag,使之變?yōu)閐isable,可是結(jié)果是submit_tag是變disable了,但是表單沒(méi)有發(fā)送

          2,然后我試圖通過(guò)submit_tag 的 :disable_with 來(lái)改變,可是結(jié)果是表單發(fā)送了,但是提交過(guò)程中submit_tag沒(méi)有變,這樣還是可以多次提交

          然后我去google了,google到了javaeye的文章:

          http://www.javaeye.com/post/183435

          楞是我搞了半天沒(méi)有成功,最后還是放棄了,

          繼續(xù)google,找到了多姿多彩的答案,甚至有人說(shuō)這是一個(gè)bug,自己又重寫了submit_tag方法,呵呵,牛

          http://awesomerails.wordpress.com/2007/11/08/disable_with-kills-form_remote_tags-ajaxiness/

          http://www.nabble.com/Confirm-option-on-submit_tag----not-working-td18160699.html

          http://github.com/rails/rails/commit/184cf27b1244734a33833cf2cb9b8062e9ee8a63

          一直還是相信google的,沒(méi)有g(shù)oogle解決不了得問(wèn)題,功夫不負(fù)有心人,呵呵,search到了,所以也就搞定了

          http://railsforum.com/viewtopic.php?pid=55125

          解決答案:

          <% form_remote_tag :url => { :action => 'contact' } , :loading => "$('submit_button').value = 'Sending...';$('submit_button').disable();" do %>


          <%= submit_tag '發(fā) 送',:id=>'submit_button',:onclick=>'return submitform();' %>


          <% end %>

          其中submitform是js方法,驗(yàn)證表單之用.

          如果后臺(tái)驗(yàn)證失敗需要返回客戶端,重新讓submit_tag為enable效果,可以這樣做

            render :update do |page|
          page.replace_html 'forgoterror','不存在該郵件'
          page[:submit_button].enable
          page[:submit_button].value = '發(fā) 送'

          ref:

          http://stackoverflow.com/questions/515376/use-rjs-code-in-the-onclick-event-of-a-button

          http://blog.csdn.net/ycl111/archive/2007/01/05/1474844.aspx



          write by feng
          posted on 2009-05-07 18:53 fl1429 閱讀(1966) 評(píng)論(0)  編輯  收藏 所屬分類: Rails
          已訪問(wèn)數(shù):
          free counters
          主站蜘蛛池模板: 怀宁县| 绥江县| 兰坪| 广东省| 清河县| 隆化县| 临高县| 北辰区| 沛县| 德格县| 伊金霍洛旗| 北京市| 泗阳县| 湘潭县| 湘乡市| 石门县| 永定县| 渝北区| 辰溪县| 肥城市| 高邮市| 龙井市| 巴马| 天水市| 崇州市| 阜南县| 二连浩特市| 泸西县| 神农架林区| 武夷山市| 定日县| 桃江县| 石屏县| 安平县| 柳州市| 陇南市| 七台河市| 沅陵县| 大新县| 潞西市| 阳泉市|