Javascript 用户输入的两个日期之间的差异
这是我的表格:Javascript 用户输入的两个日期之间的差异,javascript,Javascript,这是我的表格: <form> <input type="text" placeholder="Check in date" id="checkin" /> <input type="text" placeholder="Check out date" id="checkout" /> <input type="submit" onclick="result()" id="submit" /> </form>
<form>
<input type="text" placeholder="Check in date" id="checkin" />
<input type="text" placeholder="Check out date" id="checkout" />
<input type="submit" onclick="result()" id="submit" />
</form>
这是我计算money=days*price的javascript
<script language="javascript" type="text/javascript">
function result()
{
var a = document.getElementById("checkin").value;
var b = document.getElementById("checkout").value;
var checkin = moment(a).format('DD-MM-YYYY');
var checkout = moment(b).format('DD-MM-YYYY');
var days= checkout.diff(checkin, 'days');
var price=100;
alert("The money you have to pay is: "+days*price);
}
</script>
函数结果()
{
var a=document.getElementById(“签入”).value;
var b=document.getElementById(“签出”).value;
var checkin=时刻(a).格式('DD-MM-YYYY');
var checkout=力矩(b).格式('DD-MM-YYYY');
var days=checkout.diff(签入“days”);
var价格=100;
提醒(“您必须支付的金额为:“+天*价格”);
}
这是我的测试用例:
登记日期=2014年5月12日,
结帐日期=2014年12月25日
当我单击submit时,什么也没有发生。
有人能解释一下为什么我能解决这个问题吗。谢谢大家!
函数结果(e)//e表示事件。
{
e、 预防默认值();
var a=document.getElementById(“签入”).value;
var b=document.getElementById(“签出”).value;
var checkin=时刻(a,'DD-MM-YYYY');
var校验=力矩(b,'DD-MM-YYYY');
var days=checkout.diff(签入“days”);
var价格=100;
提醒(“您必须支付的金额为:“+天*价格”);
}
使用此选项将日期转换为时刻日期
var checkin = moment(a, 'DD-MM-YYYY')
var checkout = moment(b, 'DD-MM-YYYY')
查看什么不起作用,请提供一个代码片段或一个可用的提琴。打开crome控制台查看错误。谢谢您,先生,但您的答案不起作用,我使用的是矩.js,我认为问题是:用户输入的格式对diff函数无效。@lightnguyen更新的答案有效。当我输入
15-02-2015
和18-02-2015
时,价格是300
,这是三天,这是正确的。你原来的答案不起作用。这实际上是错误的时刻日期创建,您在从下面的答案复制后更正了…@kushdilip,不完全正确,第一个也是主要的问题是提交表单。第二,diff
函数没有发挥我已经发现的作用。我正在查看moment.js
,并用完整正确的code.cool更新我的问题。看看这个。它只通过momentjs更改工作。它仍然提交数据,在表单上没有任何操作。我认为没有必要。