原型表单提交验证错误

时间:2010-09-24 06:02:50

标签: javascript javascript-events scriptaculous prototypejs

我有一个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");
}

1 个答案:

答案 0 :(得分:0)

在你的帖子中是一个印刷错误:在脚本块的末尾应该是一个右括号(关键)和一个分号(不是那么重要,但应该在那里)。此外,应该在加载DOM之后执行所有操作(onload,ondomready):

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

(在此测试:http://jsfiddle.net/YuTH5/1/