2010-09-24 108 views
0

我有一個ID爲'new_profile_choices'的表單,我使用Prototype來驗證表單。當我嘗試驗證表單提交事件時,似乎無法處理該事件。你能幫我調試一下嗎?由於原型表單提交驗證錯誤

查看窗體的來源

<form action="/polls/vote" class="new_profile_choices" id="new_profile_choices" method="post"> 
     <input id="profile_choices_profile_id" name="profile_choices[profile_id]" type="hidden" value="2" /> 
     <input id="profile_choices_poll_id" name="profile_choices[poll_id]" type="hidden" value="50" /> 
     <div id="poll_error_messages"> 
      <p>Please select a valid vote</p> 
     </div> 
     <p> 
      <p class="choice"> 
      <input id="profile_choices_choice_id_80" name="profile_choices[choice_id]" type="radio" value="80" />Yes 
      </p> 
      <p class="choice"> 
      <input id="profile_choices_choice_id_81" name="profile_choices[choice_id]" type="radio" value="81" />No 
      </p> 
      <p class="choice"> 
      <input id="profile_choices_choice_id_82" name="profile_choices[choice_id]" type="radio" value="82" />Can't Say 
      </p> 
      </p> 
      <input class="r4corners" id="profile_choices_submit" name="commit" type="submit" value=" Vote " /> 
</form> 

原型事件處理程序

$('new_profile_choices').observe("submit", function(event){ 
alert("form submission"); 
} 

回答

0

在您的文章是一個印刷錯誤:在腳本塊的結尾應該是一個右括號(關鍵)和分號(不那麼重要,但應該在那裏)。此外,在加載DOM後,一切都應該被執行(onload事件,ondomready):

document.observe('dom:loaded', function() { 
    $('new_profile_choices').observe('submit', function (event) { 
     alert('form submission'); 
    }); 
}); 

(這裏測試:http://jsfiddle.net/YuTH5/1/

+0

你的小提琴似乎並沒有在Firefox 19.0.2工作 – lethalman 2013-04-10 08:31:25