Как автоматически обновить только одно поле формы в WordPress
Как автоматически обновить / перезагрузить одну часть сайта WordPress. Пример: мне нужно автоматически перезагружать одно поле в форме каждые 1000 мс?
У меня есть этот короткий код в одном поле формы гравитации:
<?php
function displaydate(){
return date('g:i:s');
}
add_shortcode( 'date', 'displaydate' );
[Дата]
Он показывает текущее время, но не перезагружается, поэтому показывает не текущее время, а время загрузки страницы.
Мне нужно перезагрузить это поле, но только это поле, а не всю страницу.
1 ответ
Этот фрагмент JS обновляет поле формы времени каждую секунду, используя указанный вами формат (чч: мм: сс). Это запустится в браузере клиента, поэтому вам не понадобится шорткод или обновление страницы.
var nowFn = setupNowFn('time', false);
nowFn(); //call immediately
setInterval(nowFn, 1000); //call again every sec
function setupNowFn(id, militaryTime) {
return function setNow() {
var date = new Date();
var hours = date.getHours();
var mins = ('0' + date.getMinutes()).slice(-2);
var secs = ('0' + date.getSeconds()).slice(-2);
if(!militaryTime) {
hours = hours % 12;
hours = (hours)? hours : 12;
}
hours = ('0' + hours).slice(-2);
var now = hours + ':' + mins + ':' + secs;
document.getElementById(id).value = now;
};
}
<input id="time" type="text"/>