javascript - 如何在语义 UI 中提交表单?

标签 javascript html forms semantic-ui

我知道如何使用 Semantic UI 验证表单,甚至可以在控制台中读取消息“表单没有验证错误,正在提交。”然而,这是提交到哪里呢?我想实际提交表单,但语义 UI 的布局方式似乎无法指定提交到何处或任何内容。

我读了this tutorial ,但它使用 Angular 进行提交,而不仅仅是语义 UI。

我是否遗漏了一些非常简单的东西?

最佳答案

您可以使用 jQuery 的 ajax:

   //Get value from an input field
   function getFieldValue(fieldId) { 
      // 'get field' is part of Semantics form behavior API
      return $('.ui.form').form('get field', fieldId).val();
   }

   function submitForm() {
      var formData = {
          field1: getFieldValue('someId')
      };

      $.ajax({ type: 'POST', url: '/api/someRestEndpoint', data: formData, success: onFormSubmitted });
   }

   // Handle post response
   function onFormSubmitted(response) {
        // Do something with response ...
   }

编辑:另外,您可以使用表单的 onSuccess 方法来运行 submitForm 函数,即当您初始化表单时:

$('.ui.form').form(validationRules, { onSuccess: submitForm });

仅当单击“提交”按钮并且表单根据您指定的规则有效时才会调用 onSuccess。

编辑:如果您想要常规的 HTML 表单行为,您需要将语义 css 类添加到 form 标签。

<form class="ui form" method="POST" action="/signup">...</form>

然后您使用 jQuery 设置验证规则。这将为您提供默认的 HTML 表单行为,即当您点击提交按钮时,它将向/signup 发出一个 POST 请求,在上面的例子中。如果您的任何规则触发,提交将被阻止,直到没有验证错误。

关于javascript - 如何在语义 UI 中提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19482258/

相关文章:

不同屏幕的 HTML/CSS 标签栏折叠

php - 从 HTML 表单传递的值不正确

javascript - 基于 Canvas 的编辑器 - 如何?

php - Javascript - 在结束功能之前等待点击

javascript - 比较日期 - 结束日期应大于开始日期

html - 我在移动设备上的导航向下推到两行,但在桌面上它很好

javascript - 平滑滚动+粘性标题会导致高度变化吗?

node.js - Angular 6 + NodeJS + MongoDB

javascript - ExpressJS GET 和 POST 在同一路由上

javascript - 谷歌地图缩放控制搞砸了