2015-08-27 3 views
3

Я хочу напечатать значение даты, передав его из файла JavaScript в файл HTML.Как передать значение переменной даты из javascript в html

HTML файл:

<html> 
     <body> 
      <script src=background.js> </script> 
      <span id="showDate"> </span> 
     </body> 
    </html> 

JavaScript файла:

document.body.style.background = "url('1.jpg')"; 
var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth()+1; //January is 0! 
var yyyy = today.getFullYear(); 
if(dd<10) { 
    dd='0'+dd 
} 
if(mm<10) { 
    mm='0'+mm 
} 
today = dd+'/'+mm+'/'+yyyy; 
alert(today); 
document.getElementById("showDate").value=today; 
+0

возможно дубликат [Как отобразить дату/время в формате локали пользователя и времени смещения?] (Http://stackoverflow.com/questions/85116/how-do-i-display -a-date-time-in-the-users-locale-format-and-time-offset) – MaxZoom

+0

использовать 'textContent' или' innerHTML' вместо 'value' в последней строке вашего кода –

+0

Это не имеет никакого отношения к хром. – Teepeemm

ответ

0

Прежде всего связать файл JavaScript, как в HTML файл нижней часть.

<script src="your_javascript_file.js"></script> 

, а затем

Напишите ваш код JS в файл JS с плавной линией и передать внутренний HTML в

document.getElementById("showDate").innerHTML = today; 
+1

Работал, когда я связал javascript файл внизу, а не сверху. Благодаря! Можете ли вы объяснить? –

+1

@DeepKakkad HTML анализируется сверху вниз, поэтому, если скрипт работает вверху, элемент, который он пытается получить, пока не существует. –

+0

Теперь я понял. Благодаря! @MaximillianLaumeister –

0

Самый простой способ:

document.getElementById("showDate").textContent = today; 
+0

Хотя это может ответить на вопрос, небольшой комментарий о том, как работает код, может помочь OP еще больше. –

0

Вам просто нужно использовать textContent вместо value.

Живые Рабочие Демо:

document.body.style.background = "url('1.jpg')"; 
 
var today = new Date(); 
 
var dd = today.getDate(); 
 
var mm = today.getMonth() + 1; //January is 0! 
 
var yyyy = today.getFullYear(); 
 
if (dd < 10) { 
 
    dd = '0' + dd 
 
} 
 
if (mm < 10) { 
 
    mm = '0' + mm 
 
} 
 
today = dd + '/' + mm + '/' + yyyy; 
 
document.getElementById("showDate").textContent = today;
<span id="showDate"> </span>

JSFiddle Версия: https://jsfiddle.net/ae6wfz12/

+0

Спасибо. Но я работаю над расширением хром и все еще не работаю со мной. –

0

Прежде всего, вы должны поместить скрипты, доступ к элементам документа в конце тега body, чтобы они выполнялись только после загрузки необходимых элементов.

<html> 
     <body> 
      <span id="showDate"> </span> 
     </body> 
     <script src=background.js> </script> 
    </html> 

Во-вторых, как сказано Максимилиан, используйте textConten или innerHTML или InnerText свойства выбранного элемента, чтобы получить или установить значение.

document.getElementById("showDate").innerHTML = '<strong>' + today '</strong>';

+0

Работал. Благодаря! –

Смежные вопросы