प्रोटोटाइप: धक्का बटन को रोकने के लिए जब तक प्रतिक्रिया किया जाता है

वोट
2

मैं वेब पृष्ठ पर पाठ बटन बनाने के लिए कोड के इस टुकड़े का उपयोग कर रहा

<a href='#' onclick=new Ajax.Updater('history', '/responsesG', {parameters: {name: '%s', port: '%s', profil: '201', action: 'profile'}, 
    insertion: Insertion.Top}
        ); return false;>Do something</a>

के बाद से यह महंगा कॉल है मैं उस पर क्लिक करने के बाद से यह अतुल्यकालिक कॉल करता है एकाधिक से उपयोगकर्ता को रोकने के लिए चाहते हैं और वे (प्रतिक्रिया के बाद से पिछले 3 से 5 सेकंड के लिए) एक ही बात के लिए उदाहरण 3 प्रतिक्रिया के लिए मिलता है मैं विकल्प की कोशिश की

अतुल्यकालिक: झूठे

एक ही सफलता (विफलता) के साथ। मैं यह कैसे कर सकता हूं?

संपादित करें:

<a href=# onclick=diagnostika('mac_adresa');return false;>-Mac address</a>
<script type=text/javascript>
function diagnostika(akcija) {
            if(!this.clicked) {
                this.clicked = true;
                button = this;
                new Ajax.Updater('history', '/responsesG', {
                    parameters: {
                        name: '%(name)s',
                        port: '%(port)s',
                        action: akcija},
                    insertion: Insertion.Top,
                    onComplete: function() {
                    button.clicked = false;}});}
                return false;};
</script>

यह वही है मैं अंत में लागू किया है।

02/06/2009 को 15:34
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


5 जवाब

वोट
2

आप की तरह कुछ जोड़ने की आवश्यकता होगी:

if(!this.clicked) {
    this.clicked = true;
    button = this;
    new Ajax.Updater('history', '/responsesG', {
        parameters: {
            name: '%s',
            port: '%s',
            profile: '201',
            action: 'profile'
        },
        insertion: Insertion.Top,
        onComplete: function() {
            button.clicked = false;
        }
    });
}

return false;

लेकिन, वास्तव में, एक इनलाइन के बाहर इस लाने onClick इतना है कि यह पढ़ने के लिए आसान है।

02/06/2009 को 15:41
का स्रोत उपयोगकर्ता

वोट
0

अक्षम (या छिपाएं) onclick हैंडलर में लिंक, और फिर पुन: सक्षम या यह दिखाने जब आप एक प्रतिक्रिया मिल।

02/06/2009 को 15:41
का स्रोत उपयोगकर्ता

वोट
0

अपने खुद के कार्य करने के लिए onclick भेजने के लिए, बटन को अक्षम, एक टाइमर कि तब बटन को पुन: सक्षम कर Ajax.Updaer शुरू करते हैं।

02/06/2009 को 15:42
का स्रोत उपयोगकर्ता

वोट
3

अपने लिंक एक अद्वितीय ID विशेषता, जैसे दें:

<a href="#" id="foo">Do something</a>

फिर अपने जावास्क्रिप्ट में आप यह कर सकते हैं:

$("foo").observe("click", function() {
  this.disabled = true;
  new Ajax.Updater("history", "/responsesG",
                   { parameters: { name: "%s",
                                   port: "%s",
                                   profile: "201",
                                   action: "profile" },
                   insertion: Insertion.Top });
  return false;
});
02/06/2009 को 15:43
का स्रोत उपयोगकर्ता

वोट
0

एक वैश्विक ध्वज onclick, कि गलत पर सेट है वापसी एक बार एक अनुरोध बाहर चला जाता है, और वापस सही करने के लिए जब यह वापस आता है

02/06/2009 को 15:43
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more