【问题标题】:Javascript response on same page同一页面上的 Javascript 响应
【发布时间】:2018-10-18 16:45:49
【问题描述】:

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 与当前日期相加计算后,将显示预计交货日期。

【问题讨论】:

  • 不错。但是你的代码在哪里?
  • 这里是遗留在 javascript 中的脚本: var d = new Date(); var date = d.getDate(); var 月 = d.getMonth() + 1; var year = d.getFullYear() document.getElementById("date").innerHTML = date + "/" + month + "/" + year;

标签: javascript html date


【解决方案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;
        }

我检查了以下代码,对于“纽约”,它返回预期交付:
2018 年 10 月 26 日

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 2018-12-17
    • 1970-01-01
    • 2022-11-29
    相关资源
    最近更新 更多