function check(){
var d = new Date();
var date = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
var state = document.form1.state.value;
if(state==1){
document.getElementById("expDate").innerHTML = (date + 4) + "/" + month + "/" + year;
}
else if(state==2){
document.getElementById("expDate").innerHTML = (date + 7) + "/" + month + "/" + year;
}
}
<form name="form1" >
<table width="20%">
<tr>
<td>Select State: </td>
<td>
<select name="state">
<option value=1>CANSAS</option>
<option value=2>NEW YORK</option>
</select>
</td>
</tr>
<tr>
<td>Expected Delivered:</td>
<td><p id="expDate"></p>
</td>
</tr>
<td>
</td>
<td>
<input type="submit" name="submit" value="submit" onClick="return check()">
</td>
</tr>
</table>
</form>
我正在使用HTML和JavaScript创建邮资计算器。当用户选择状态选项并提交时,计算器将计算预期的交货日期。提交后,所选值将被JavaScript捕获,并用于识别该州的哪个区域(南,西,其他)。例如:位于西部的cansas,持续时间为5天。然后在同一页面上将5与当前日期相加后,将在同一页面上显示预期的交付日期。
答案 0 :(得分:1)
您快到了。您的代码实际上也为'extDate'设置了innerHTML,但之后它提交了表单,并且值在表单重置时消失了。 您唯一要做的就是通过返回 false 来防止提交表单。
function check(e) {
// e.preventDefault();
var d = new Date();
var date = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
// document.getElementById("date").innerHTML = date + "/" + month + "/" + year;
var state = document.form1.state.value;
if (state == 1) {
document.getElementById("expDate").innerHTML = (date + 4) + "/" + month + "/" + year;
}
else if (state == 2) {
document.getElementById("expDate").innerHTML = (date + 7) + "/" + month + "/" + year;
}
return false;
}
我检查了以下代码,对于“纽约”,它返回“预期交付”:
26/10/2018