Во-первых, на странице загрузки, я установить водяные знаки по умолчанию следующим образом:водяной знак сбрасывается после размытия
function AddWatermarksDataEntry() {
initialWatermarks = new Array();
initialWatermarks.push(new Array("P1_BIRTHDATE_MASK", "__/__/____"));
initialWatermarks.push(new Array("P2_BIRTHDATE_MASK", "__/__/____"));
initialWatermarks.push(new Array("P1_VALIDFROM_MASK", "~#SF_DD/MM/YYYY~"));
initialWatermarks.push(new Array("P2_VALIDFROM_MASK", "~#SF_DD/MM/YYYY~"));
initialWatermarks.push(new Array("P1_IDENTITYDOCUMENTNUMBER", " "));
initialWatermarks.push(new Array("P2_IDENTITYDOCUMENTNUMBER", " ")); //***-*******-**
initialWatermarks.push(new Array("P1_VAT", "~#SF_9OR10_DIGIT~"));
initialWatermarks.push(new Array("P2_VAT", "~#SF_9OR10_DIGIT~"));
Watermarker(initialWatermarks);
}
Позже, когда я регулирую значение выпадающий для моей идентичности типа карты я сделать следующее:
if(newIdentityDocumentType == "1")
{
ChangeIdentityDocumentNumberField($('#'+ whichPerson +'_IDENTITYDOCUMENTNUMBER'), $('#'+ whichPerson +'_NATIONALITY'), watermarkIdentityDocumentNumberBelgian, foreignPersonWaterMark, 14, 14);
$('#'+ whichPerson +'_IDENTITYDOCUMENTNUMBER').mask('999-9999999-99');
$('.'+ whichPerson + '.identityDocumentNumber').text('e.g. 123-456789112-34');
}
Я проверяю, выбрал ли пользователь правильный тип удостоверения личности. Если он или она это сделали, измените свойства поля ввода, в частности, я бы хотел, чтобы водяной знак был настроен.
Метод ChangeidentityDocumentField вызывает метод, который изменит водяной знак, как это:
function ChangeIdentityDocumentNumberField(IdentityDocumentNumberField, NationalityField, WatermarkBelgian, WatermarkForeign, MaximumBelgian, MaximumForeign) {
if (NationalityField.val() == "0") {
//omitted code
ChangeWatermark(IdentityDocumentNumberField, WatermarkBelgian);
} else {
//omitted code
ChangeWatermark(IdentityDocumentNumberField, WatermarkForeign);
}
}
function Watermarker(newWatermark) {
for (i = 0; i < newWatermark.length; i++) {
$('#' + newWatermark[i][0]).Watermark(newWatermark[i][1]);
$('#' + newWatermark[i][0]).blur(function (item, watermark) {
return function() {
//if ($('#' + item).val() == '') {
$('#' + item).Watermark(watermark);
//};
};
} (newWatermark[i][0], newWatermark[i][1]));
};
}
С помощью этого метода лежит проблема, когда я нахожусь в поле ввода, и я хочу выйти, выше функция вызывается, все идет хорошо, я вижу, что добавляется водяной знак (когда я отладки, но потом, вдруг, когда код переходит к:
} (newWatermark[i][0], newWatermark[i][1]));
Мой водяной знак сбрасывается до значения по умолчанию !?