我遇到了一些奇怪的东西让我意识到我不知道JS的东西以及我应该知道的东西。所以我想我会问一个问题,看看是否会有所帮助。我有一个简单的表单,有三个“textarea”输入,我有一个“保存”按钮。保存按钮触发一个js函数,该函数收集输入上的内容,并显示一个警告......
非常简单的应用程序,但我没想到的是当你“关闭”警报框时;表格上输入的所有数据都将被删除...
这是我的代码:
<form>
<strong>Make</strong><br/>
<textarea id="make_notes" rows="4" cols="50">
</textarea><br/><br/>
<strong>Model</strong><br/>
<textarea id="model_notes" rows="4" cols="50">
</textarea><br/><br/>
<strong>Features</strong><br/>
<textarea id="features_notes" rows="4" cols="50">
</textarea>
<br/><br/>
<button onclick="side_form_js2()">Save2</button>
</form>
<script>
function side_form_js2() {
var element1 = document.getElementById("make_notes");
var make_notes_var = element1.value;
var element2 = document.getElementById("model_notes");
var model_notes_var = element2.value;
var element3 = document.getElementById("features_notes");
var features_notes_var = element3.value;
alert(make_notes_var + "I am an alert box!22222" + model_notes_var + features_notes_var);
}
</script>
所以我真的不确定是什么让表单输入被删除。这几乎就像正在重新加载页面但我不认为是这样的。任何人都可以对此有所了解吗?感谢...
P.S。不知道这是否有任何区别,只是在我的电脑上使用Xampp本地运行...
答案 0 :(得分:2)
默认是重新加载,将代码更改为此代码并且应该可以正常工作
<button onclick="return side_form_js2()">Save2</button>
然后在你的函数中添加如下警告后返回false:
alert(make_notes_var + "I am an alert box!22222" + model_notes_var + features_notes_var);
return false;
答案 1 :(得分:0)
未指定type属性的button元素表示与type属性设置为“submit”的button元素相同的元素。 如果您想在表单中使用按钮而不提交使用type =“button”。