我应该使用什么按钮事件来确认 html 表单
What button event should I use to confirm a html form?
使用Javascript,没有框架,当我不希望重定向时,我应该使用什么按钮事件来确认表单?我希望使用鼠标左键或键盘来确认表单。
我使用了这个元素:
<button type="button" value="1">Save</button>
将 type="submit" 与"submit"事件一起使用对我来说不是解决方案,因为这会产生重定向(来自的值丢失)。所以我使用类型"按钮"。
当我使用
document.getElementById("advanced_form").addEventListener("click", saveOptions);
这个甚至"点击"与鼠标一起使用。但是用户可能会使用键盘而不是鼠标来提交表单。所以我怀疑表单不会对键盘确认操作做出反应。我没有找到任何与按下按钮相关的事件。那么如何解决这个问题呢?
您仍然可以将"type="submit"与"e.preventDefault();"结合使用来执行重定向。
我希望这有所帮助,祝你好运。
从您的澄清评论中:
发生的事情是,当我单击按钮时,表单中的值消失了,因此我了解到表单在没有任何值的情况下重新加载。
正在提交表单...提交表格。结果返回的内容完全取决于服务器发回的内容。
但是这些值不应该消失,我需要的行为就像在普通浏览器窗口(WINAPI)中一样
这很正常。
。页面不会清除这些值。如果我想关闭表单,我会关闭选项卡(html 页面)。
这不正常。正常是表单消失并被提交结果所取代。
但是您可以使用 submit
事件执行此操作,只需在 submit
事件中使用event.preventDefault()
即可阻止表单提交:
document.getElementById("the-form").addEventListener("submit", function(event) {
event.preventDefault(); // Prevents the form from being submitted
});
无论用户使用鼠标、键盘还是辅助技术提交表单,该事件都将可靠地触发。使用键盘或辅助技术提交表单时,提交按钮上的click
事件将不会可靠地触发。
您可以使用提交按钮,但您需要处理提交操作。 试试这个(使用 jquery):
<input class="submit_button" type="submit" value="Save" />
<script>
function submit_form(e)
{
if (check_form_submit()) {
// check your data here
$(this).submit();
return;
}
e.preventDefault();
}
$(function() {
$('.submit_button').parents('form').submit(submit_form);
});
</script>
您仍应使用提交输入类型,但您需要阻止默认操作,以便页面不会重新加载。如果你使用的是jQuery,这个代码片段应该会有所帮助。
$('#my-form').submit(function(ev) {
ev.preventDefault(); // to stop the form from submitting
// Your code here
this.submit(); // If you want to submit at the end
});
- jQuery:确认.html()是否可添加
- 窗口确认在 AJAX 帖子中打印 HTML 标签
- JavaScript确认何时在表单中选择动态HTML字段
- 删除html表单的确认
- 尽管使用了Onsubmit确认,HTML表单仍然设置PHP$_POST[]
- HTML - PHP 中的“点击”确认功能
- confirm.html上的动态确认消息
- HTML 锚链接 - 带有确认对话框的 href
- ASP Html.BeginForm 多个提交按钮 - 添加没有 JQuery 的自定义确认
- 在HTML输入字段中选择文件时显示确认
- html在javascript确认框中
- 隐藏输入(html表单确认)-服务器端脚本?(php)
- 从链接到确认按钮扩展程序的asp文本框中删除HTML标记,而不设置ValidateRequest=“”;false”;
- html表单中的变量未传递到Javascript窗口确认
- PayPal确认,然后返回一个字符串HTML(js或任何其他..)
- 提交HTML表单与Javascript链接以及确认框
- 删除确认 - 打开模式弹出窗口时从 html 传递数据
- 将JS的确认框替换为自定义的HTML框
- 使用Javascript在html中打印到默认打印机,而不打开打印机确认对话框
- 我应该使用什么按钮事件来确认 html 表单