我想使用两个按钮形式并创建以下工作。然而,它打破了页面上的任何其他事件,但我无法弄清楚原因。还有更好的方法吗?
window.addEvent('domready', function() {
$('vote1').addEvent('click',function() {
new Element('input', {
'type': 'hidden',
'name': 'winner',
'id': 'vote1id',
'value': 'vote1'
}).inject($('voterform'));
$('vote_wrapper').setStyle('display','none');
});
$('vote2').addEvent('click',function() {
new Element('input', {
'type': 'hidden',
'name': 'winner',
'id': 'vote2id',
'value': 'vote2'
}).inject($('voterform'));
$('vote_wrapper').setStyle('display','none');
});
$('voterform').addEvent('submit', function(e) {
e.stop();
var log = $('v_wrapper').empty().addClass('loader');
this.set('send', {onComplete: function(response) {
log.removeClass('loader');
$('v_wrapper').set('html', response).set("tween", {duration: 2500}).setOpacity(0).fade(1);
}});
this.send();
});
});
答案 0 :(得分:0)
在上面的代码中,如果$('vote1')或$('vote2')是链接或表单按钮,您将需要按如下方式修改代码以防止发生默认操作:
$('vote1').addEvent('click',function(e) {
e.stop();
new Element('input', {
'type': 'hidden',
'name': 'winner',
'id': 'vote1id',
'value': 'vote1'
}).inject($('voterform'));
$('vote_wrapper').setStyle('display','none');
});
$('vote2').addEvent('click',function(e) {
e.stop();
new Element('input', {
'type': 'hidden',
'name': 'winner',
'id': 'vote2id',
'value': 'vote2'
}).inject($('voterform'));
$('vote_wrapper').setStyle('display','none');
});