2017-09-07 14 views
0

私が書いたメソッドは、入力フィールドに日付が挿入/変更されているかどうかをチェックし、この条件が満たされたときにメッセージをユーザーに通知します。 日付が変更されていなくても毎回確認メッセージがトリガーされるという問題。jQueryで入力フィールドが変更されたことを確認する方法

var alertuserSave = function() { 
     val4 = $("#ContentPlaceHolder1_txtFinalized").val(); 
     var alrt_value = document.createElement("INPUT"); 
     alrt_value.type = "hidden"; 
     alrt_value.name = "confirm_value"; 
     if ((val3 === "5" || val3 === "6") && val4) { 
     confirm("Remember to Save the inserted data."); 
     alrt_value.value = "Yes"; 
     } else { 
      alrt_value.value = "No"; 
     } 


     document.forms[0].appendChild(alrt_value); 
    } 

そして、私はこのような文書の負荷にリスナーを追加しました:私の方法は、以下のように見えるポップアップを作成する方法

var val3 = $('#ContentPlaceHolder1_ddlResponsibility').val(); 
    var val4 = $("#ContentPlaceHolder1_txtFinalized").val(); 
    console.log(val4 + " is val4 ") 
    $(document).ready(function() { 
     $("#ContentPlaceHolder1_txtFinalized").change(alertuserSave); 

日は毎回変更していない場合にのみ解雇?

+1

'&& val4'はどうすればいいですか? –

+0

日付フィールドにフォーカスとブラーイベントを使用できます。フォーカスに日付の値を格納してから、ぼかし関数で最終文字列と初期文字列が同じかどうかを確認し、日付が異なる場合は関数を起動できます。 ) –

+0

@JonasSchafft私はval4値が変更されたことを確認することをお勧めします。 – Mindan

答えて

0
val4 = $("#ContentPlaceHolder1_txtFinalized").val(); 

あなたがチェックした場合の要素

の値はそう返します

val4 != oldvalue 

(... && val4) 

を、それはあなたのようなものをチェックする必要が常に真

です

+0

そして古い値を取得する方法?私は古い値をvar val4 = $( "#ContentPlaceHolder1_txtFinalized")経由で保存しようとしました。data( 'val4'、$( "#ContentPlaceHolder1_txtFinalized")。しかし、これは現在の値を常に出力しません – Mindan

+0

val4!= $( "#ContentPlaceHolder1_txtFinalized")をval()してからval4 = $( "#ContentPlaceHolder1_txtFinalized")を実行します。チェックの後に。 –

関連する問題