簡體   English   中英

單擊ajax禁用提交按鈕,然后再次啟用

[英]ajax on click disable the submit button and enable again

大家好,我有這個功能很棒,但是問題不大

 $(document).ready(function(){
$("input[type='submit']").attr("disabled", false);
$("form").submit(function(){
  $("input[type='submit']").attr("disabled", true).val("Please wait.");
    setTimeout(function(){
    $("input[type='submit']").attr("disabled", false).val("Submit");    
}, 3*1000);
  return true;
})
})

問題是,當我在頁面中有2個表單時,它會更改所有提交按鈕的值,我只希望僅針對單擊的按鈕而不是針對所有提交按鈕才能激活該功能。

我希望你明白我的意思。 我知道我需要修改功能中的某些內容,但這樣做時出現了一些問題...

使用this來引用當前提交的表單,然后可以使用.find來獲取該表單的后代submit輸入:

$("form").submit(function(){
  const input = $(this)
    .find("input[type='submit']")
    .attr("disabled", true)
    .val("Please wait.");
  setTimeout(function(){
    input
      .attr("disabled", false)
      .val("Submit");    
  }, 3*1000);
  return true;
});

還要注意,除非您使用的是舊版的jQu​​ery,否則您可能應該首選.prop不是.attr

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM