我想檢查是否有任何字段更改或不包括排除form.For少數領域。爲此,我試了下一個。如何檢查表單數據是否更改,排除表單上的幾個字段?
$('#FormId').not('#elementId').data("changed")
但它不排除ID爲'elementId'的元素。
我想檢查是否有任何字段更改或不包括排除form.For少數領域。爲此,我試了下一個。如何檢查表單數據是否更改,排除表單上的幾個字段?
$('#FormId').not('#elementId').data("changed")
但它不排除ID爲'elementId'的元素。
你可以做類似如下:
// this binds the following function on any inputs type=text under #FormId
$('#FormId input[type=text]')bind("change", function(){
// do something
});
// You can add more elements, or classes by adding commas to the selector
$('#FormId input[type=text], .anotherclass, .onemoreclass')bind("change", function(){
.
.
.
.
我想你想檢查表單數據是否改變與否 這裏是一個方法,我有使用。
所有輸入就會觸發以下 任何改變創建上改變事件是同一
var oldFormData = '';
$(function() {
oldFormData == $('#FormId').serialize();
$('form :input').on('change input', function() {
var isChange = $('#FormId').serialize() !== origForm
});
})
假設您想標記要用數據屬性跟蹤的輸入(本例中爲data-change-tracking
)。
HTML
<form action="/echo/html/" method="post">
<p>
<label>A text input</label>
<input data-change-tracking="true" value="abc"/>
</p>
<p>
<label>A select</label>
<select data-change-tracking="true">
<option value="1">option 1</option>
<option value="2">option 2</option>
</select>
</p>
<p>
<label>A textarea</label>
<textarea data-change-tracking="true">old</textarea>
</p>
<p>
<label>Not tracked</label>
<input value="123" />
</p>
</form>
然後,我們只需添加一個dirty
類當輸入已經從以前的值改爲:
的Javascript
$(function() {
$('[data-change-tracking]').each(function(){
$(this).data('previousValue', this.value);
});
$('form').on('change', '[data-change-tracking]', function(ev) {
if (ev.target.value !== $(ev.target).data('previousValue')) {
$(ev.target).addClass('dirty');
} else {
$(ev.target).removeClass('dirty');
}
});
});
當然的元素ID爲'FormId'的ID同時沒有id'elementId'。 '$('#FormId')。not('#elementId')'和$('#FormId')'是一樣的。 – CBroe
有一個ID爲「FormId」的表單,它具有元素「elementID」和更少的元素。我想檢查是否有任何其他元素從from而不是指定的「elementId」。 – Asha
我明白了。我只是向你解釋你爲什麼不能工作。看起來你不知道什麼是不真實的,所以你應該在文檔中閱讀它。 – CBroe