有没有必要使用表单元素客户端?

时间:2017-02-08 16:21:40

标签: javascript html

在通过ajax提交表单的客户端应用程序中,使用html表单元素是否有任何意义? 因为我每次都需要做e.preventDefault()只是为了确保表单不提交,而是通过ajax发送信息,我认为使用表单元素毫无意义。我错过了什么吗?我问,因为我记得看过我看过的教程中使用的表单,学习反应和vue。

4 个答案:

答案 0 :(得分:2)

是的,原因有很多。

表单元素组表单控件。这对使用辅助技术的人(例如屏幕阅读器)特别有用,其中一些具有专用的表单输入模式。

拥有真实的表单允许您使用progressive enhancementunobtrusive JavaScript的基本要求),这使您可以使用站点robuster并且能够承受a client failing to run the JavaScript

通过Ajax发送数据要求您使用JavaScript收集所有数据。这可以通过使用表单对象实例化FormData object来方便地完成。

var data = new FormData(document.forms.formid);
myXhr.send(data);

答案 1 :(得分:1)

是的!语义; http://www.w3schools.com/html/html5_semantic_elements.asp

  

语义元素清楚地描述了它对浏览器的含义   和开发者。

允许自动填充等功能在浏览器中正常运行。

答案 2 :(得分:1)

首先,它具有语义含义。其次,它允许从表单元素中提取数据的快捷方式:

var myForm = document.getElementById('myForm');
formData = new FormData(myForm);

或访问表单字段的快捷方式:

var myForm = document.getElementById('myForm');
myForm[fieldIndex]

答案 3 :(得分:-2)

我认为您不需要阻止表单提交,只需确保将表单操作属性标记为#  这样它就会停留在同一页面上。