Html 如何提交更改下拉列表的表格?

Html 如何提交更改下拉列表的表格?,html,jsp,Html,Jsp,我在JSP中创建了一个页面,其中有一个下拉列表,一旦用户选择了一个值,他必须单击go按钮,然后将该值发送到Servlet </select> <input type="submit" name="GO" value="Go"/> 我怎么做才能让它在改变的时候做到呢?例如,当用户选择John时,将从数据库中检索并显示其所有详细信息。我希望系统不必单击go按钮即可完成此操作。只需请求JavaScript的帮助即可 <

我在JSP中创建了一个页面,其中有一个下拉列表,一旦用户选择了一个值,他必须单击go按钮,然后将该值发送到Servlet

            </select>
            <input type="submit" name="GO" value="Go"/>


我怎么做才能让它在改变的时候做到呢?例如,当用户选择John时,将从数据库中检索并显示其所有详细信息。我希望系统不必单击go按钮即可完成此操作。

只需请求JavaScript的帮助即可

<select onchange="this.form.submit()">
    ...
</select>

...
另见:

    • 简单的JavaScript可以-

      <form action="myservlet.do" method="POST">
          <select name="myselect" id="myselect" onchange="this.form.submit()">
              <option value="1">One</option>
              <option value="2">Two</option>
              <option value="3">Three</option>
              <option value="4">Four</option>
          </select>
      </form>
      
      
      一个
      两个
      三
      四
      

      这里有一个好的链接。

      除了使用
      this.form.submit()
      之外,您还可以通过id或名称提交。 例如,我有这样的表单:

    • 姓名:

    • 按Id:


    • 给上面答案中的那些人。这绝对是JavaScript。它只是内联的

      顺便说一句,如果要应用于所有选择,请使用jQuery等效项:

      $('form select').on('change', function(){
          $(this).closest('form').submit();
      });
      

      很多用户都会屏蔽javascript,没有javascript有没有办法做到这一点?@deweydb:Nope。否则我会回答:)只要显示一个
      横幅,如果启用JS,网站的体验会更好。另一种完全不同的方法是使用
      并添加CSS,使其看起来像一个真正的下拉列表。但是再也没有办法使用
      。@deweydb“很多用户阻止javascript…”引用?老实说,我从未遇到过阻止javascript的用户——我开始相信这些用户是个神话。一方面,这将阻止他们使用一半的互联网;任何有足够能力阻止脚本的人都可能知道它是多么的无害和无处不在。@BalusC请为那些担心用户没有启用javascript的人添加此项
      此表单要求您启用javascript才能正常工作,请在您的浏览器中启用javascript。
      如果您真的需要,也可以@NathanHornby想要引证为什么你不去公共图书馆呢大多数公共图书馆的block javascript都是出于安全原因,有些学校也是如此,所以不要试图把它当作一个神话,因为它已经存在,而且主要是出于安全原因,为了保持计算机的完整性,因为有些javascript是恶意代码…@deweydb很简单。只需在
      标签中放置一个
      submit
      按钮。它仅在用户使用noscript时显示。启用JS的用户可以简单地选择元素,而使用noscript的用户只需单击submit按钮即可谢谢上面的一个也适用于MVC@使用(Html.BeginForm(“Actioname”,“controllername”,FormMethod.Post))一二三四无需JavaScript!我知道,这就是我评论的意思。我想给你一些道具。:-)等等,这真的不是JavaScript吗?在*属性中写入的任何内容都被解释为JavaScript。因此PostName.submit()是javascript。括号表示我们正在处理一个“函数”。HTML是一种声明性语言,而不是命令式语言,因此它没有函数的概念,因此submit()是JavaScript。您的另一个提示是,当您编写一个标记时,例如,您正在告诉浏览器那里存在什么。当您编写PostName.submit()时,您是在告诉浏览器在特定条件下应该做什么。这大概就是声明式语言和命令式语言之间的区别。