当前位置: 首页 > 面试题库 >

通过ajax提交时为什么要使用表单标签?

洪建茗
2023-03-14
问题内容

哲学问题:

假设我有一个 需要使用
javascript和现代浏览器的网络应用程序,因此逐步增强不是问题。如果我的表单是通过javascript构建的,而我的数据更新都是通过ajax
POST和PUT完成的,那么是否真的有理由将我的控件包装在表单标签中?如果出于语义或结构原因,我仍要使用该标签,那么是否有任何理由要忽略我要忽略的操作和方法参数?感觉就像是对早期时代的保留。


问题答案:

通过将输入包装在表单标签内,至少提供了一项重要的用户体验功能:

回车键将提交表格。 实际上,在Mobile Safari中,这是使 “开始”
按钮显示在键盘上的方式。

如果没有包装输入的表格,则无法提交任何内容。

您当然可以通过按键事件提供回车键的行为,但是我不知道这是否适用于移动设备。我不了解您,但是我宁愿使用浏览器提供的语义,也不必模仿事件。

对于您的情况,您只需为onsubmit表单提供一个事件处理程序,该事件处理程序将完成您的AJAX提交,然后return false取消实际的提交。

您可以简单地提供action=""(即“自我”),而method不是必须提供-默认为GET



 类似资料:
  • 问题内容: 我是一个相对较新的程序员,与他告诉我的一个合作伙伴交谈,他说在AJAX之前,他使用iframe来发送数据并更改内容(显然是在JavaScript的帮助下)。 我知道两者都是相似的技术,但是我没有找到描述其特征的文章, 与Iframe相比,AJAX有哪些优势? 编辑 我没有找到任何关于该技术的解释,但是我的搭档告诉我他将数据通过隐藏的iframe发布并提交iframe,听起来好像只需要刷

  • 问题内容: 所以假设我有3种形式 每个表单都有自己的提交按钮 现在假设我有另一种形式 其唯一的功能是同时提交所有其他3种形式。…现在这里是约束: 当submitAll提交后,它必须使用Ajax这样做,并且最好通过POST将输入的数据从所有其他3种形式转发到processor.php processor.php需要能够区分输入到哪种形式…然后分别处理每种形式的输入 我的问题是..什么是使proces

  • 问题内容: 我正在使用以下jQuery代码通过AJAX提交表单。 代码完美运行,没有ajax。 但是,如果我通过Ajax加载表单,则无法正常工作。 我认为这是因为JavaScript加载后通过ajax加载了表单。 有什么办法吗? 问题答案: 如果使用jQuery 1.7+,则可以尝试使用.on()委托事件并绑定到具有相同类的所有将来的表单。尝试查找没有动态插入的最接近的父代,而不是$(docume

  • 问题内容: 我正在尝试使用jquery将值提交到数据库。我是ajax的新手,但是我必须使用ajax。 到目前为止,这是我已经完成的PHP代码 我的html代码是 这是我使用jQuery的ajax 我不知道我在做什么错。任何帮助将不胜感激 问题答案: 与其干扰表单的Submit事件,不如点击事件。要对现有设置进行最小的更改,只需将点击处理程序添加到表单提交按钮。处理程序中的第一件事是调用e.prev

  • 当我提交post方法表单时,给定输入字段值,提交时不获取。如果我在Jquery中使用Ajax调用,那么表单值将序列化并正确提交,但是在javascript中,使用FormData的Ajax调用会出错。 谁能解决我的问题。 错误: > 错误:不能设置报头后,他们被发送。OutgoingMessage.set头(_http_outgoing.js:356: 11) 阿波罗模型拯救未设置键:主键字段:名

  • 问题内容: 我想通过jquery ajax提交此表单,这是我所做的,并且不起作用。即表格提交与页面刷新,我没有看到响应,即在同一页面上打印数组。 的HTML PHP(submit.php) 问题答案: 使用此方法-出现一些语法错误,必须提交事件