两个按钮提交会中断页面​​上的其他事件(mootools)

发布于 2024-09-25 17:49:03 字数 1270 浏览 5 评论 0原文

我想使用两个按钮表单并创建了以下有效的内容。然而,它破坏了页面上的任何其他事件,但我不明白为什么。有更好的办法吗?

        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();
        });
    });

I am wanting to use two button form and created the following which works. It however breaks any other events on the page but I can't figure out why. Is there a better way?

        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();
        });
    });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

守望孤独 2024-10-02 17:49:04

在上面的代码中,如果 $('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');   
    });

In the code above if $('vote1') or $('vote2') are links or form buttons you will want to modify your code as follows to prevent the default action from occurring:

    $('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');   
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文