我是Javascript和HTML的新手。当我点击一个按钮时,我会弹出一个弹出屏幕,显示从XML中提取的日期。现在,下面是代码
<script id="template" type="text/x-handlebars-template">
<table>
<tr>
<th>Posted on: </th>
<td>function(){var myDate="{{posted}}";
myDate=myDate.split("-");
var newDate=myDate[0]+"/"+myDate[1]+"/"+myDate[2];
return(new Date(newDate).getTime());}?></td>
</tr>
</table>
</script>
提取日期的格式为(Y-m-d),如2012-12-03,必须更改为2013年12月3日。到目前为止我已经完成了,当我点击按钮时弹出窗口没有出现。当我在firebug中检查控制台时,我看到了这个错误 - SyntaxError: function statement requires a name
。我无法使用任何事件功能,单击此按钮时应显示日期。我怎么能这样做?
答案 0 :(得分:1)
如果您的日期格式为yyyy-mm-dd,您可以使用以下内容将其重新格式化为dd-mmm-yyyy:
function reformatDate(s) {
var months = ['Jan','Feb','Mar','Apr','May','Jun',
'Jul','Aug','Sep','Oct','Nov','Dec'];
var t = s.split('-');
return t[2] + '-' + months[--t[1]] + '-' + t[0];
}
哪个应该位于某个脚本元素中,或者从外部文件加载。在HTML中你会有类似的东西:
<table>
<tr>
<th>Posted on: </th>
<td id="myDate"></td>
</tr>
</table>
不知何故,您从模板中获取值到页面中并使用函数将其放入表中,可能:
window.onload = function() {
document.getElementById('myDate').innerHTML = formatDate('2013-12-12');
}
我不知道如何从XML中获取值并将其传递给函数。在我看来,如果在服务器上读取XML,它可以将值直接写入HTML。如果从客户端使用AJAX访问它,那么您可以在回调中将其写入表中,而不是使用 window.onload 。