2015-07-28 24 views
0

我在html加載時添加了一些js代碼。 Like below如何在檢測到表單值已更改時防止發生事件?

var form = $('form'); 
$(':input').change(function() { 
    if ($('[name=form-update-detector]', form).length == 0) { 
     $(form).prepend('<input type="hidden" name="form-update-detector"/>') 
    } 
    $('[name=form-update-detector]', form).val('true'); 
}); 

它的工作原理。 我的問題是當我檢測到表單值發生了變化時,如何在不保存此表單的情況下單擊其他元素(綁定重定向事件)時提醒用戶? 綁定事件的元素可能是<a></a>,<p></p>或其他任何其他元素。代碼可能是onclick="someEvent()"$('#someId').on('click',function(){})或href等

回答

0

您可以將初始值(當窗體被加載時)存儲在一個變量中,比如說cleanData以及當用戶點擊其他有其他動作的元素時附加的,你可以先將表單數據放在另一個變量中,比如說dirtyData,然後比較這兩個,如果相等,則繼續執行附加在單擊元素上的動作,否則顯示警告。

+0

我明白了,如果沒有通過上面附帶的我的js代碼比較兩個值,表單中的任何更改都可以輕鬆檢測到。但是我無法得到用戶點擊的事件,也無法檢測到它是重定向事件。 –

+0

我想你必須在一個特定的DOM元素上附加重定向事件。我對嗎? –

相關問題