我是ASP.net MVC中的新手。所以我在这里遇到困难:
我有3个要素:购买日期,保修期和过期日期。购买日期是带有datePicker类的EditorFor,因此用户可以选择日期。保修日期是一个EditorFor,用户可以在其中放置一个int号,例如1,3,6,12(Months)。和过期时间是一个编辑器用" readonly"因此用户无法对此进行修改。 我的问题是当用户选择购买日期中的日期并在保修日期输入值时。如何使用公式自动将值添加到过期日期:过期日期=购买日期+保修期...请帮助我...谢谢大家..
答案 0 :(得分:0)
尝试使用购买日期和保修期连接change
个事件,如:
var pd=document.getElementById("<Id of Purchase Date>");
pd.onchange=function(){
calculateExpiry();
};
var wp=document.getElementById("<Id of Warranty>");
wp.onchange=function(){
calculateExpiry();
};
var we=document.getElementById("<Id of Warranty Expiry>");
function calculateExpiry(){
var d=pd.value;
if(d===""){
return;
}
var w=wp.value;
if(w===""){
return;
}
var a=d.split("-");//suppose your date is displayed as yyyy-mm-dd (2017-07-21)
var m=+a[1];
m+= +w;
var y=0;
if(m>12){
y+=1;
m-=12;
}
we.value=+a[0]+y + "-" + a[1]-1 +"-" + +a[2]);
}
这非常粗糙,非常冗长。您可以尝试jQuery等来进行事件处理。还记得在这里没有进行错误检查/处理。
答案 1 :(得分:0)
为此,您需要在用户的Web浏览器上执行代码。由于在生成页面时执行了所有代码,因此您无法使用ASP.NET
。将页面发送给用户后,ASP.NET
无法执行任何操作来更改页面。
要在用户的网络浏览器上执行代码,您需要使用Javascript
。
要在网页中加入Javascript
,只需使用<script>
代码并将代码放入其中。
<script>
// Put the javascript code here
</script>
脚本标记通常在结束</body>
标记之前。所以它会做这样的事情:
<body>
<!-- Content of the page here -->
<script>
// Put the javascript code here
</script>
</body>
编辑:我刚看到@TheVillageIdiot写了代码来做你想做的事。我强烈建议您仍然学习一点Javascript
,因为它在Web开发中经常使用。