मैं सबमिट बटन के मूल्य को खोजने की कोशिश कर रहा हूं जिसने फॉर्म को सबमिट करने के लिए ट्रिगर किया है, इसलिए मैं अलग-अलग चीजें कर सकता हूं, वास्तव में मैं इसका उपयोग करता हूं:

$("#regform").on('submit', function(e) {
  if (($(document.activeElement).val()) == "cf") {
    e.preventDefault();
    // This doesnt work on iOs Devices
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="action.php" method="post" id="regform" class="regform" accept-charset="utf-8">
  <button class="btn btn-outline-primary" type="submit" id="check-cf" value="cf">Check CF</button>
  <input type="submit" name="submit" class="btn btn-success btn-lg btn-block" value="Reg">
</form>

document.activeElement कई मामलों में काम नहीं करता। इसे हासिल करने के लिए संगत होने के लिए मुझे आजकल क्या उपयोग करना चाहिए?

1
Marcello 28 जिंदा 2021, 21:49

2 जवाब

सबसे बढ़िया उत्तर

बस value="cf" बटन को एक type="button" तत्व बना दें। फिर फॉर्म जमा करने से रोकने के लिए आपको किसी जेएस कोड की आवश्यकता नहीं है।

<form action="action.php" method="post" id="regform" class="regform" accept-charset="utf-8">
  <button type="button" class="btn btn-outline-primary" id="check-cf" value="cf">Check CF</button>
  <input type="submit" name="submit" class="btn btn-success btn-lg btn-block" value="Reg">
</form>

यदि, किसी भी कारण से, आप ऐसा नहीं कर सकते हैं, तो आपको फ़ॉर्म में सबमिट बटन के click ईवेंट से जुड़ना होगा, उनके value का पता लगाना होगा, और फ़ॉर्म को वहां से जमा करने से रोकना होगा:

$('form :submit').on('click', function(e) {
  if ($(this).val() == "cf") {
    e.preventDefault();
    console.log('form submission blocked...');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="action.php" method="post" id="regform" class="regform" accept-charset="utf-8">
  <button class="btn btn-outline-primary" type="submit" id="check-cf" value="cf">Check CF</button>
  <input type="submit" name="submit" class="btn btn-success btn-lg btn-block" value="Reg">
</form>
0
Rory McCrossan 28 जिंदा 2021, 21:54

ऐसा करने के दो तरीके हैं जैसा कि मैं इसे देखता हूं

$("#regform").on('submit', function(e) {
   if ( $("#check-cf").is(":focus") ) {
     alert( 'check-cf clicked');
  }
  else {
    alert( 'Reg clicked');
  }
  $("#regform").submit()   or return false;  // if you dont want to submit it
});

या

$(document).on("click", ".btn", function() {
   if ( $(this).val() == 'cf' ) {
      alert( 'check-cf clicked');
  }
  else {
     alert( 'Reg clicked');
  }
  $("#regform").submit()   or return false;  // if you dont want to submit it
})
-1
Tch 28 जिंदा 2021, 22:08