2017-11-21 21 views
0

私はコントローラ内にリクエストマッピングを持つ複数のボタンを持つフォームを持っています。ボタンをクリックした後に読み取り専用にする

フォームの2回の送信を停止したいのですが、コントローラが何をすべきかを知るための情報を得ることができないため、クリックした後はボタンを無効にすることはできません。 これは私が取得エラーです:

org.springframework.web.bind.UnsatisfiedServletRequestParameterException: Parameter conditions "update" OR "verify" OR "reject" OR "updateCard" OR "approve" OR "withdraw" OR "updateStatusToReject" OR "updateStatusToApprove" not met for actual request parameters: 

だから私はこの問題を解決するだろうクリックした後、ボタンの読み取り専用を作る感じ。

私はこれまでこれを試しましたが、それでも二重提出を許可しています。

$('.sendButton').click(function(){ 
     $(this).prop('readonly', true); 
    }); 



<c:if test="${requestForm.status == 'R'}"> 
       <input type="submit" name="updateStatusToApprove" value="Update To Approved" tabindex="7" 
         class="sendButton" id="appealA"/> 

      </c:if> 
      <c:if test="${requestForm.status == 'A' || requestForm.status == 'AA'}"> 
       <input type="submit" name="updateStatusToReject" value="Update To Rejected" tabindex="8" 
         class="sendButton" id="appealR"/> 

実際にボタンを無効にすることなく、ダブル送信を停止する方法を教えてください。

+0

を使用している場合は、私だと思う読み取り専用ボタンを無効にしていること、そしてあなたもの提出を制限することによってこれを行うことができますあなたの前の要求が最初に達成されるまで、あなたの呼び出しは完了しません。 –

+0

または、入力タイプをsubmitではなくボタンとして保持し、一度だけ実行するハンドラを割り当てることができます。 – gurvinder372

答えて

4

タイプbuttonのご入力を作成し、一度だけ読み取り専用要素だけで編集可能ではありませんが、取得one

$('.sendButton').one("click", function(){ 
 
    //submit the form 
 
    $(this).closest('form').submit(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="button" name="updateStatusToReject" value="Update To Rejected" tabindex="8" class="sendButton" id="appealR"/>

+0

回答をいただきありがとうございますが、入力をボタンに変更すると、上記のエラーと同じエラーが表示されます。しかし、私はあなたのソリューションを取って、それを入力としてそのまま保ち、ボタンとしてスタイルをとった。今、それはありがとうございます。 – Blawless

0

を使用して実行clickハンドラを割り当てます該当する書式が提出されると送信されます。 無効な要素は編集できず、送信時に送信されません。 あなたは、jqueryのバージョン1.6 +、

$('.sendButton').click(function(){ 
     $(this).prop('disabled', true); 
    }); 

か、他

$('.sendButton').click(function(){ 
     $(this).attr('disabled','disabled');` 
    }); 
関連する問題