【发布时间】:2014-03-07 08:02:12
【问题描述】:
我是 Javascript 和 HTML 新手。
我在 HTML 中有以下表格:
<div id="form-select">
<form id="date_form" onsubmit="return myFunction();">
<datalist id="dates">
<option value="February 7">February 7</option>
<option value="February 14">February 14</option>
<option value="February 21">February 21</option>
<option value="February 28">February 28</option>
</datalist>
<input type="text" class="input" name="data" id="date" value="" list="dates" placeholder="pick a date"><br>
<input type="submit">
</form>
</div>
这是一个名为 script.js 的文件中的 javascript。 js文件在标题中链接为<script type="text/javascript" src="script.js" />:
function myFunction(){
var input = document.getElementById("date").value;
if(input==="February 7"){
document.getElementById('w1').innerHTML = document.getElementById('w1').innerHTML + "<h2> HEADING </h2>";
}
return false;
};
当我填写表单并点击提交时,javascript 会正确执行该函数并添加“HEADING”。但是,当我再次按下提交时,它会在它的第一个实例下第二次添加“HEADING”。
如何使每次按下提交时页面“刷新”?
谢谢!
【问题讨论】:
-
我不明白这怎么能添加第二个标题。它每次都替换
w1的HTML,它不会添加到它。 -
是的,barmar 是对的。它总是会替换 w1 的 innerHTML
-
很抱歉给您带来了困惑。我将代码固定为它应该读取的内容: document.getElementById('w1').innerHTML = document.getElementById('w1').innerHTML + inner.h"
HEADING
";我这样做是因为代码会在某个时候遍历数组以找出要添加的 HEADING 数量;所以如果数组中有 2 个元素,它会添加 HEADING 两次。
标签: javascript html forms submit