我无法将数据从HTML传递到JS脚本,每当我点击提交没有任何反应时,目的是让用户在表单中输入日期然后发送到javascript脚本并且将日期与当前日期进行比较,然后计算出两者之间的天数/周数差异,然后返回到HTML页面,这是我到目前为止所拥有的;
HTML代码
<script src="DandT.js">
<input type="date" name="dd/mm/yyyy"`id="uniqueID" value="datetime" />
<button type="button" onclick="proccessFormData()">Submit</button>
JS代码
function processFormData(){
var frm_element = document.getElementById('uniqueID');
var current = new date();
var timeDiff = frm_element.getTime() - current.getTime();
var seconds = Math.floor(timeDiff / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
var weeks = Math.floor(days / 7);
return weeks * days;
}
提前感谢您的回复
答案 0 :(得分:0)
HTML
<input type="date" name="dd/mm/yyyy" id="uniqueID" value="datetime" />
<button type="button" class="submit">Submit</button>
<script src="DandT.js">
JS
function processFormData(){
var inputDate = document.querySelector('#uniqueID');
var timeDiff = inputDate.getTime() - Date.now();
var seconds = ~~(timeDiff / 1000);
var minutes = ~~(seconds / 60);
var hours = ~~(minutes / 60);
var days = ~~(hours / 24);
var weeks = ~~(days / 7);
return weeks * days; // this only RETURNS the data, this won't actually trigger a form submit.
}
document.querySelector('.submit').addEventListener(processFormData);
如果您不想使用新数据触发表单提交,那么您应该手动执行AJAX调用或将计算值注入隐藏的input
并触发表单提交({{1} })。
答案 1 :(得分:0)
最终结果是让它运转我必须使用
var usrDate = new Date(uniqueID.value);
感谢所有有用的建议!