Я потратил слишком много времени, пытаясь понять это, и нашел здесь часть ответа на Stackoverflow, но все еще не могу заставить это работать.
То, что я хочу сделать, это контролировать все элементы ввода поодиночке с помощью некоторого JS / jQuery. Когда пользователь фокусируется на вводе, если значение такое же, как при загрузке страницы, очистите его, если оно было изменено, сохраните его. Затем при размытии, если поле пустое, вернуть значение по умолчанию.
То, что я имею до сих пор, это:
var input = document.getElementsByTagName('input');
$('input, textarea').focus(function() {
value = $(this).val();
for (var i=input.length-1; i >= 0; i--) {
if(value == input[i].value){
$(this).attr("value","");
}
}
});
$('input, textarea').blur(function() {
if($(this).val()=="") {
$(this).val(value);
}
});
Это частично работает, но просто очищает входы, независимо от того, были ли они изменены или нет. Я предполагаю, что храню начальные значения неправильно.