2016-03-19 16 views
-2

私は選択したチェックボックスを表示している編集フォームを持っています。送信すると、チェックボックスに変更があるかどうかをチェックしたいのですか?Javascriptフォームを送信するときに、フォームデータが変更されているかどうかチェックしますか?

+2

コードを表示しますか? – trincot

+0

現在のチェック状態を 'defaultChecked'プロパティと比較します。 https://developer.mozilla.org/de/docs/Web/API/HTMLInputElement#Properties – CBroe

答えて

0

各チェックボックスの現在の値を元の設定と比較できます。このためにcheckedプロパティとdefaultCheckedプロパティを比較できます。ここで

はいくつかのコードです:

function wasAnyCheckChanged() { 
 
    return $('input[type=checkbox]').toArray().some(function(el) { 
 
     return el.checked != el.defaultChecked; 
 
    }); 
 
} 
 

 
// At submission: collect them again and compare 
 
$('form').submit(function() { 
 
    if (wasAnyCheckChanged()) { 
 
     alert('you changed checks'); 
 
    } else { 
 
     alert('No changes made'); 
 
    } 
 
    return false; // cancel submission 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input type="checkbox" name="chk1" checked>Option 1<br> 
 
    <input type="checkbox" name="chk2" >Option 2<br> 
 
    <input type="submit" name="submit" value="Submit"><br> 
 
</form>

このコードは、チェックのいずれかが、彼らは、ページの読み込みであったようにより提出で異なっていたかどうかを示す警告が表示されます。その後、提出は取り消されます。あなたは何をすべきかを決めることができ、2つのケースのいずれかで提出をキャンセルするだけです。

+0

これはあなたの質問に答えましたか?フィードバックをお願いできますか? – trincot

関連する問題