Я работаю над CMS.Когда пользователь хочет заменить существующее эскизное изображение, он может загрузить замену и установить флажок, чтобы подтвердить, что он действительно заменяет изображение.Флажок кажется необходимым, потому что в противном случае форма отправляет пустое значение (из-за пустого значения по умолчанию поля загрузки, безопасности по умолчанию для всех браузеров) и стирает существующее изображение без указания замещающего изображения.
Проблема в том, что Я постоянно забываю вручную активировать флажок , и загруженное изображение фактически не заменяет существующее, потому что без установленного флажка принимающий файл PHP не (по замыслу) обрабатывает загруженное имя файла,Я подозреваю, что у пользователей будет та же проблема, и я хочу, чтобы это не происходило, уменьшив количество необходимых шагов.Одним из решений было бы установить флажок с помощью jQuery при каждом нажатии поля загрузки.Так почему же это не работает:
$('#image_req').click(function () {
if ($('#checkbox_req').attr('checked',true)) {
$('#checkbox_req').removeAttr('checked');
alert('Unchecked');
} else if ($('#checkbox_req').attr('checked',false)) {
$('#checkbox_req').attr('checked','checked');
alert('Checked');
}
});
Данный HTML-код выглядит следующим образом:
<input id="image_req" name="local_filename" type="file" />
<input id="checkbox_req" name="replace_image" value="yes" type="checkbox" />