JQuery和Ajax:<form>元素是否重要,或者我可以只使用<input /> </form>

时间:2011-10-12 20:16:44

标签: javascript html ajax forms

当我进行 Ajax 调用时,我想知道是否需要在 HTML 中使用表单元素。我可以直接使用输入元素,然后在JavaScript中指定其余的信息(URL等)吗?

通过“需要”,我的意思是说有一些风格,安全或可靠性原因继续使用<form>元素吗?

4 个答案:

答案 0 :(得分:6)

如果您正在执行AJAX请求,则技术上不需要<form>标记。但是,您可能希望继续使用它有一些原因

  1. 在您的情况下,它可能在语义上更正确(例如,用户实际上正在提交“表单”)。
  2. 想象一下,如果用户未启用JavaScript或正在使用不支持JavaScript的浏览器。您的网站可能会更优雅地降级。也就是说,即使没有JavaScript,用户仍然可以提交表单。
  3. some JQuery plugins可以解析<form>并使用AJAX提交,而不是要求您选择每个<input>元素,提取其值,并自行构建AJAX请求。 / LI>

答案 1 :(得分:3)

你不需要表格,没有。如果你有很多元素,那么将它们包装在div中以便更容易地选择输入显然是件好事。

使用form是有利的,但这是优雅的降级。如果您的form具有正常submit按钮,并带有以下jQuery:

$("form").submit(function(e) {
    e.preventDefault();

    // Ajax request
});

e.preventDefault()将阻止表单正常提交,并执行您在下面编写的AJAX请求。如果用户没有启用JS,则表单将使用通常的方法提交而不使用JS。

答案 2 :(得分:2)

除非您需要特定的表单方法/操作内容,否则不明确需要它。您可以直接使用input字段,并有一个按钮,其中绑定了一个Click事件,并通过ajax / jquery调用它。

如果我想在用户“提交”表单后显示完全不同的页面/表示,我个人会使用基于表单的技术。

使用(或不使用)表单没有风格,安全性或可靠性原因。如果需要,您可以在$.ajax()中指定相同的参数。

这就是你想要设计应用程序的方式......

答案 3 :(得分:0)

如果您使用ajax,则无需制作表单。如果您使用普通表单方法,则需要一个