我有一个带有两个按钮的表单。底部应该将表单提交给服务器。在表单的中间还有另一个按钮,需要触发一个简单的评分函数,并在新的表单字段中添加此分数值(根据其存在将提交或不会提交)。
使用Prototype js库,如何从提交表单中取消此中间按钮并让它执行我的计算/ DOM添加功能?
编辑:
我目前没有阻止表单提交...
$$('.form-submit-calculate').each(function(calculator){
calculator.observe("click",function(){alert('calculate'); return false; });
});
的
<div id="cid_31" class="form-input-wide">
<div style="margin-left:406px" class="form-buttons-wrapper">
<button id="input_31" class="form-submit-calculate">
Get Score
</button>
</div>
</div>
答案 0 :(得分:7)
Event.observe('scoreButton', 'click', function(e) {
Event.stop(e);
}
});
答案 1 :(得分:3)
您的button
无需自动提交表单。
给它一个type="button"
,什么都不会发生。 type="button"
没有默认操作。然后在JS中设置操作。
答案 2 :(得分:0)
只需要附加到您不想提交的按钮的click事件的函数返回false。你也可以在事件函数中使用e.preventDefault。
答案 3 :(得分:0)
这似乎对我有用:
$$('.form-submit-calculate').each(function(calculator){
calculator.onclick = function(){
alert('calculate');
return false;
}
});
随时告诉我你更优雅的答案! (为什么会这样......我现在只是在攻击Prototype,不知道最佳做法是什么。)