javascript सबमिट सबमिट पर सबमिट बटन अक्षम करें





5 Answers

विशेष रूप से अगर किसी को क्रोम में समस्या का सामना करना पड़ रहा है

इसे ठीक करने के लिए आपको क्या करने की आवश्यकता है सबमिट बटन को अक्षम करने के लिए तत्व में ऑनबमिट टैग का उपयोग करना है। यह क्रोम को दबाए जाने के तुरंत बाद बटन को अक्षम करने की अनुमति देगा और फ़ॉर्म सबमिशन अभी भी आगे बढ़ेगा ....

जैसे

<form name ="myform" method="POST" action="dosomething.php" onSubmit="document.getElementById('submit').disabled=true;"> 
     <input type="submit" name="submit" value="Submit" id="submit"> 
</form>
javascript jquery

मैंने क्लिक के बाद अपनी वेबसाइट पर सबमिट बटन अक्षम करने के लिए यह कोड लिखा था:

$('input[type=submit]').click(function(){
    $(this).attr('disabled', 'disabled');
});

दुर्भाग्य से, यह फॉर्म नहीं भेजता है। मैं इसे कैसे ठीक करूं?

संपादित करें मैं सबमिट को बाध्य करना चाहता हूं, फॉर्म नहीं :)




इसे अपने ऐप में इसका ख्याल रखना चाहिए।

$(":submit").closest("form").submit(function(){
    $(':submit').attr('disabled', 'disabled');
});



आपका कोड वास्तव में एफएफ पर काम करता है, यह क्रोम पर काम नहीं करता है।

यह एफएफ और क्रोम पर काम करता है।

$(document).ready(function() {
        // Solution for disabling the submit temporarily for all the submit buttons.
        // Avoids double form submit.
        // Doing it directly on the submit click made the form not to submit in Chrome.
        // This works in FF and Chrome.
        $('form').on('submit', function(e){
          //console.log('submit2', e, $(this).find('[clicked=true]'));
          var submit = $(this).find('[clicked=true]')[0];
          if (!submit.hasAttribute('disabled'))
          {
            submit.setAttribute('disabled', true);
            setTimeout(function(){
              submit.removeAttribute('disabled');
            }, 1000);
          }
          submit.removeAttribute('clicked');
          e.preventDefault();
        });
        $('[type=submit]').on('click touchstart', function(){
          this.setAttribute('clicked', true);
        });
      });
    </script>



जैसा कि पहले कहा गया है, यदि आप सबमिट बटन पर अक्षम विशेषता जोड़ते हैं, तो डेटा नहीं भेजा जाएगा।

@ वालमस की चाल काम करती है, लेकिन मुझे एक समाधान मिला जो कार्यान्वित करना बहुत आसान है:

$('#yourform').submit(function(){
    $('#mySubmitButton').addClass('disabled');
});

और आप अक्षम वर्ग को सीएसएस में परिभाषित करते हैं जैसे कि:

.disabled{
    cursor:not-allowed;
}

यह अक्षम = "अक्षम" जैसा ही होगा, लेकिन भेजे गए डेटा के परिणामों के बिना।




अक्षम या छुपा बटन पर ब्राउज़र असंगतताओं से बचने के लिए मैं ब्लॉकयूआई का उपयोग कर रहा हूं।

http://malsup.com/jquery/block/#element

फिर मेरे बटनों में एक वर्ग autobutton है:

  $(".autobutton").click(
     function(event) {
        var nv = $(this).html();
        var nv2 = '<span class="fa fa-circle-o-notch fa-spin" aria-hidden="true"></span> ' + nv;
        $(this).html(nv2);
        var form = $(this).parents('form:first');

        $(this).block({ message: null });
        form.submit();                
        });   

फिर एक ऐसा फॉर्म है:

<form>
....
<button class="autobutton">Submit</button>   
</form>



Related