同一页上的JavaScript响应

时间:2018-10-18 16:45:50

标签: javascript html date

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与当前日期相加后,将在同一页面上显示预期的交付日期。

1 个答案:

答案 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