2017-01-14 5 views
0

I私は送信ボタンをクリックすると次の入力のHTMLタグが変更テキスト

<input type="submit" id="submitForm" value="Submit" class="btn btn-primary start" autocomplete="off" onclick="submitForm();" /> 

、それが関連するJavaScriptファイルに行くと)(関数submitFormを実行持っています。

機能が完了するまで、送信フォームのテキストを「お待ちください...」に変更します。

これを行う方法はありますか?あなたが参照してくださいjqueryのを使用することができます

function submitForm() { 
     $("#submitForm").val("Please wait..."); 
     if (formValidation() === true) { 
      submitFormInfo().done(function() { 
       $("#submitForm").val("Submit"); 
      }); 
     } 
} 

function submitFormInfo() { 
return $.ajax({ 
     cache: false, 
     url: "URLHERE" 
     error: function (xhr) { 

     }, 
     success: function (result) { 
     }, 
     async: false, 
     processData: false 
    }); 
} 
+1

確かに、IDで要素を見つけ、その値属性を設定します。ダブル送信を避けるために要素を無効にすることもできます。 – Lucero

+1

試してみましたか?あなたの 'submitForm()'はどのように見えますか? –

+0

ここには事があります...私がそれをすると、送信フォームが完全に完了するまでボタンがフリーズするので値を変更しません。 JSスレッドがブロックされていて、名前が変わらないようです。 – user3587624

答えて

0

これはsubmitForm()関数がどのように見えるかである -

https://jsfiddle.net/swawrm1g/3/

私が削除されている: -

onclick="submitForm();" 

および追加: -

$('#submitForm').click(function(){ 
    $(this).val('Please Wait...'); 
    submitForm() 
}); 

function submitForm() { 
    alert('Form submitted'); 
}; 
0

submitform()で非同期操作をしていますか? はい、あなたはあなたのsubmitForm()機能で、あなたはこのような何かを行うことができますので、あなたのAJAX呼び出しにbeforeSendオプションを使用して、次の行

$("#submitForm").val("Please Wait"); 
+0

私はこれを行うと、送信フォームが完全に完了するまでボタンがフリーズするため、値を変更しません。 JSスレッドがブロックされていて、名前が変わらないようです。 – user3587624

+0

submitForm()にあるコードを共有できますか?私はあなたが通常のポストバックを持っていて、ページをフリーズさせない非同期コールではないと確信しています。 –

+0

追加のコードを追加すると役立ちます – user3587624

0

を使用することができた場合:

function submitForm() { 
    var submitForm = $("#submitForm"); 
    if (formValidation() === true) { 
    $.ajax({ 
     cache: false, 
     url: "URLHERE", 
     async: false, 
     type: 'post', 
     data: { somedata: 'here' }, 
     beforeSend: function(){ 
      submitForm.val("Please wait...").attr("disabled", "disabled"); 
     }, 
     success: function (data){ 
      // do something 
     }, 
     error: function(){ 
      // do something 
     }, 
     complete: function() { 
      // regardless of the response status (success/error) 
      // the codes below will be executed. 
      submitForm.val("Submit").removeAttr("disabled"); 
     } 
    }); 
    } 
} 
0

シンプルなJavascriptをするのに十分ですこれを行う..

<script> 
function submitForm(){ 
    document.getElementById('submitForm').value="Please wait.."; 
} 
</script> 
<input type="submit" id="submitForm" onclick="submitForm()" value="Submit">