为什么调用一个JS函数从onsubmit清除我的表单和控制台
Why does calling a JS function from onsubmit clear my form and console?
我试图通过表单上的onsubmit事件调用JS函数。当我这样做时,我的表单输入被清除(我的JS控制台,我试图调试这个问题)。JS从我的函数似乎运行,但我不确定为什么表单和控制台被清除。有人能解释一下吗?
如果我通过按钮上的onclick事件调用相同的JS函数,则不清除表单和控制台。是否有一些特殊的调用这个JS函数基于onsubmit事件,导致我所看到的行为?
下面是一个重现这个问题的HTML文件:
<!DOCTYPE html>
<html lang="en">
<body>
<script>
function doThis(){
console.log("Hello World");
}
function doThat(){
console.log("Goodbye World");
}
</script>
<form onsubmit="doThis()">
<label>Address: </label><input type="text" name="address"><br>
<input type="submit" value="Submit"/>
</form>
<button onclick="doThat()">Submit Button</button>
</body>
</html>
您的表单正在被提交,这将重新加载页面并显示一个新的干净的表单和控制台。
要取消提交,将return false;
添加到onsubmit
或在doThis()
中添加JavaScript断点。
onsubmit
应该返回一些值true
如果表单可以继续提交,false
阻止它。默认情况下,它是true
,所以您的表单被提交并刷新页面。
我经历了同样的问题,当我开发表单提交用户数据在服务器从iframe,每次用户填写表单数据,点击提交按钮,表单重置为原始状态,但我不想自动重置表单。我调查发现"提交"按钮的默认行为是提交表单数据并将表单重置为原始状态。之后,我使用了简单的按钮和调用函数,点击按钮发布数据。
相关文章:
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 单击jquery清除输入值
- 检查onsubmit doenst work jquery contactform上的函数
- 为什么onsubmit函数似乎没有执行
- 如何在Microsoft VirtualEarth 6.3中使用纯javascript清除整个形状层
- 清除以前的$_GET值或不获取仅隐藏字段的值
- Javascript清除缓存以清除基本身份验证凭据
- 清除启动日期选取器值
- 在 SlickGrid 中编辑后,根据不同列中的另一个单元格清除单元格
- php页面,该页面在清除值后接受输入
- 清除数据并将旧值附加到文本框中
- 使用javascript清除Asp.NET FreeTextBox(RTF文本框)
- 如何使Visual Studio自动清除Javascript控制台
- 使用javascript或html本身清除文本字段
- 清除函数中if语句内部不起作用的间隔
- 我应该/如何清除mousemove JQuery事件侦听器
- 从定位目标中的元素中清除类
- 使用查询字符串方法清除浏览器缓存
- 如何在使用AngularJS更改下拉值时清除表单中的数据
- 为什么调用一个JS函数从onsubmit清除我的表单和控制台