哲学问题:
假设我有一个 需要使用 javascript和现代浏览器的网络应用程序,因此逐步增强不是问题。如果我的表单是通过javascript构建的,而我的数据更新都是通过ajax POST和PUT完成的,那么是否真的有理由将我的控件包装在表单标签中?如果出于语义或结构原因,我仍要使用该标签,那么是否有任何理由要忽略我要忽略的操作和方法参数?感觉就像是对早期时代的保留。
通过将输入包装在表单标签内,至少提供了一项重要的用户体验功能:
回车键将提交表格。 实际上,在Mobile Safari中,这是使 “开始” 按钮显示在键盘上的方式。
如果没有包装输入的表格,则无法提交任何内容。
您当然可以通过按键事件提供回车键的行为,但是我不知道这是否适用于移动设备。我不了解您,但是我宁愿使用浏览器提供的语义,也不必模仿事件。
对于您的情况,您只需为onsubmit表单提供一个事件处理程序,该事件处理程序将完成您的AJAX提交,然后return false取消实际的提交。
onsubmit
return false
您可以简单地提供action=""(即“自我”),而method不是必须提供-默认为GET。
action=""
method
GET