【问题标题】:Does a HTML form need an Action/Method in order to be submit?HTML 表单是否需要操作/方法才能提交?
【发布时间】:2013-05-08 18:19:58
【问题描述】:

这是否可以在没有操作或方法的情况下提交给 servlet? I.E.(你可以单独使用 Jquery 来发送这个吗?或者其他方法?)

<form id="form2">
    <input type="text" value="12" name="ID"/>
    <input type="text" value="NameThatComesFirst" name="FirstName"/>
    <input type="text" value="NameThatComesLast" name="LastName"/>
    <input type=submit id="submit" value="submit"/>
</form>

【问题讨论】:

  • 你为什么不试试看会发生什么?它会回答你的问题。
  • 我想我记得一个 JQuery 插件,它可以从表单中获取所有字段值并以 AJAX 样式提交它们。这忽略了通常单击提交会将您带到一个全新的页面,因此您的 javascript 必须处理该行所需的任何操作。
  • @LeeMeador 你不需要 jQuery 来做到这一点。
  • @LeeMeador 看看我的回答,它谈到了那个插件
  • @Rob 你没有。您可以自己编写所有的 javascript,也可以使用已经调试过的其他人。你的可能会更小,可能对你来说很好。

标签: javascript jquery html forms


【解决方案1】:

不,它不需要在那里,默认情况下它会使用 GET 提交到当前加载的脚本。

如果你想用AJAX提交,你可以在调用它的时候定义它,而不是通过action/method属性如果你想使用the jquery form plugin

$('#form2').ajaxForm( {
    url: 'comment.php', 
    type: 'PUT',
    success: function() { 
        alert('Thanks for your comment!'); 
    } 
});
// The suggested way is to put action and method on the form and `$.ajaxForm` 
// will find it.   
$('#form2').ajaxForm({ success: function() {
    alert('Thanks for your comment!'); 
}});

您始终可以通过查询 DOM 并发送 AJAX 请求来自己发送表单

【讨论】:

    【解决方案2】:

    如果您希望某些事情真正发生,答案是肯定的。默认情况下,如果没有指定 action 属性的值,那么它将使用现有页面。至于仅使用 jQuery 来处理提交,答案是 no。您必须使用某种类型的服务器端代码,例如 PHP、ASP、JSP 等来处理表单。如果需要,您还可以选择使用服务器端 JavaScript,例如 node.js。

    但是,您可以使用 jQuery 通过 ajax 提交表单。见API

    【讨论】:

    • 这个答案有点乱,答案是你没有,以前很多人都用这个技巧提交到同一个页面。至于 jQuery,问题是关于如何从表单中获取数据并使用 AJAX 将其发送到服务器
    • 这样,您不必总是 必须提交到服务器应用程序来处理表单。就在你想用表单在服务器上做某事的时候(通常就是这种情况)。
    【解决方案3】:

    表单提交的默认操作是METHOD="GET"ACTION="SELF"。来自docs

    如果缺少 ACTION,则假定文档本身的 URL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-28
      • 1970-01-01
      • 2021-10-25
      • 2012-02-03
      • 1970-01-01
      • 2019-08-25
      • 2012-03-19
      • 1970-01-01
      相关资源
      最近更新 更多