forms 相关问题

表单本质上是一个容器,可用于保存几种类型数据的任何数量的任何数量的子集。 HTML表单用于将数据传递到服务器。 VB和C#表单是用于与用户交互的窗口。

如何测试(vitest)表单的提交按钮在提交时是否被禁用

我有以下测试(以此为模型:https://github.com/orgs/react-hook-form/discussions/8866): it("如果表单仍在提交,则提交被禁用", async () => {

回答 1 投票 0

Flask 操作未重定向到指定的 html 页面

我正在pycharm中使用flask创建一个简单的网站。我正在开发允许用户注册网站帐户并使用他们创建的凭据登录的功能。我的问题是...

回答 1 投票 0

切换到编辑模式时触发表单提交事件

我有一个 React 组件,它显示用户数据并提供就地编辑数据的选项。 当我单击编辑按钮时,会触发表单提交操作。 我已标记“编辑”按钮...

回答 1 投票 0

C# 为标签获得良好的颜色

我在 Windows 窗体应用程序中使用随机颜色作为背景。现在我想显示一个标签。 问题是,当随机颜色为白色且标签也是白色时,那么标签...

回答 1 投票 0

CodeIgniter 表单验证。多次通话无效

我正在使用CodeIgniter。我一直在尝试调试一个不起作用的脚本。 我得出的结论是,当使用 $this->form_validation->run(); 时(表单验证类),之后...

回答 2 投票 0

xamarin 表单:如何检测离开页面是返回上一页还是新页面?

我的 Xamarin Forms 应用程序中的一个页面以横向模式显示。当用户离开该页面时,方向将恢复为纵向。 我从

回答 1 投票 0

使用 Post 的 PHP 表单。错误:未定义的数组键。但是当我使用 get 时它会起作用。 (w3schools 示例)

我正在尝试在我的网站上制作一个表单,用户可以在其中提交他们的姓名,他们的分数将保存到高分列表中。 (这是一个问答游戏。) 我尝试使用 w3schools 学习使用表单。 ...

回答 7 投票 0

Ruby on Rails 中的表单,将变量在一种表单之间传递到另一种表单

我试图在表单之间传递变量,不幸的是我没能做到。 在我的index.html.erb中,我有一个名为SearchInput的文本字段,我想将此变量传递给下一个...

回答 3 投票 0

如何在事件监听器中添加数据转换器

所以,这是我的问题:我必须根据其基础数据向表单添加一个字段,但我必须向该字段添加一个数据转换器。 我认为解决方案很简单,只需添加一个 PRE_SET_DATA...

回答 3 投票 0

有什么方法可以仅向 TextFormField 中的 labelText 添加填充吗?

我正在创建一个 Flutter 应用程序,我想仅向 TextFormField 中的 labelText 添加水平填充,而不是向hintText 和输入文本添加水平填充。我正在使用 contentPadding 但它增加了填充

回答 2 投票 0

引导验证错误导致表单对齐问题

在这个简单的示例中,当我在表单左侧的名字输入框中出现验证错误时,电子邮件表单元素会被推到页面下方。 当我在

回答 3 投票 0

使用下拉列表和按钮触发安装应用程序等操作

我之前问过这个问题但没有结果,所以我再问一次。我确定并进行了搜索,同时也尝试使用自己的代码(反复试验)来在发布之前弄清楚它。我正在尝试创建一个 kios...

回答 1 投票 0

我正在尝试在 .NetForms 中创建一个应用程序,在其中从文件中读取数据,然后使用该数据截断图表

目前我正在从 csv 文件读取数据并将其显示在一种表单的文本框中。然后我的目标是将这些数据传递到另一种形式,我可以在其中创建可视化作为柱形图......

回答 1 投票 0

提交后我在控制台中看不到任何表单值

为什么我无法在控制台中看到值?一切都正确到位,但在控制台中看不到表单值。我认为这与 onSubmit 函数有关。有什么帮助吗...

回答 1 投票 0

Google Chrome ERR_CACHE_MISS 解决方法

每次我导航回在 Chrome 中提交(发布)表单的页面时,我都会收到一个显示以下错误的白色页面:ERR_CACHE_MISS 我做了一些搜索,但找不到任何真正的解决方案......

回答 3 投票 0

无需 PHP 或任何其他服务器语言的联系表单

来自伟大俄罗斯的您好! 我有以下联系表... 来自伟大俄罗斯的问候! 我有以下联系表格... <form class="orderForm" action=""> <p><input type="text" name="" placeholder="Name" /></p> <p><input type="text" name="" placeholder="Phone number" required="required" /></p> <p><input type="text" name="" placeholder="E-mail address" required="required" /></p> <p><input type="submit" name="" value="Send Request" /></p> </form> 是否可以将表单中的数据保存到 .txt 文件或类似的文件中?我的意思是,是否可以在没有任何 PHP 或任何其他服务器语言的情况下使此表单工作并发送电子邮件!?仅 HTML。 也许提交的表格可以以某种方式保存到文件中? .TXT 或其他...? 谢谢您的回答。 请理解,对于任何服务器端交互,您都必须使用服务器端语言,如 JSP、PHP、ASP 或任何其他语言。根据您的要求,您需要发送只能由服务器完成的电子邮件。仅使用客户端脚本无法完成服务器的工作。即:针对您的情况的纯 HTML、JS。如果你想使用 JS 作为服务器端语言,请检查 Node.js 所以,我有同样的问题,我有一个 HTML 网站的联系表单,但我没有服务器。我的朋友给了我一个解决这个问题的方法,那就是https://formcraft.webcraftio.com/。那么这是如何工作的。首先访问该网站并添加一个电子邮件地址,您希望将提交的数据发送到输入字段,然后单击生成链接。为您生成一个唯一的链接,复制该链接并将其添加到您的表单操作按钮,表单上的所有提交内容都会发送到您添加以生成链接的电子邮件。

回答 2 投票 0

如何强制 Angular 2 重新检查验证器?

我有一个用 Angular 2 反应式(数据驱动)模板编写的简单登录表单。它工作完美,但是当我刷新页面并且浏览器填充电子邮件+密码(自动完成)时,我的表单有效

回答 3 投票 0

如何序列化未选中的复选框的数组?

如何修改此示例,以便它可以从未选中的复选框中获取值? 我希望所有复选框都有一个值,如果尚未选中,我希望其值为 false。 我如何修改此示例,以便它可以从未选中的复选框中获取值? 我希望所有复选框都有一个值,如果尚未选中,我想将其值设为false。 <input type="checkbox" name="Check01" value="true" /> <input type="checkbox" name="Check02" value="true" checked="checked" /> 默认行为 $("form").serializeArray(); // [Check02 = true] 预期行为 $("form").serializeArray(); // [Check01 = false, Check02 = true] 自己动手可能是最简单的: var serialized = $('input:checkbox').map(function() { return { name: this.name, value: this.checked ? this.value : "false" }; }); 如果还有其他输入,那么您可以序列化表单,然后使用类似上面的内容找到未选中的复选框,并将结果附加到第一个数组。 serializeArray 忽略未选中的复选框。 您可以尝试这样的操作。 工作演示 var serializedObj = {}; $("form input:checkbox").each(function(){ serializedObj[this.name] = this.checked; }); 您可以使用此获取未经检查的值 $.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); $.each(a, function () { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); var $radio = $('input[type=radio],input[type=checkbox]',this); $.each($radio,function(){ if(!o.hasOwnProperty(this.name)){ o[this.name] = ''; } }); return o; }; 代码示例 另一个选择是只查看serializeArray的源代码并删除(或修改)对filter的调用。我刚刚使用该函数并创建了一个名为 serializeArrayAll 的新函数,如下所示: $.fn.serializeArrayAll = function() { var rCRLF = /\r?\n/g; return this.map(function(){ return this.elements ? jQuery.makeArray( this.elements ) : this; }) /* this is what is excluding the unchecked checkboxes (and also other disabled options) .filter(function(){ return this.name && !this.disabled && ( this.checked || rselectTextarea.test( this.nodeName ) || rinput.test( this.type ) ); }) */ .map(function( i, elem ){ var val = jQuery( this ).val(); return val == null ? null : jQuery.isArray( val ) ? jQuery.map( val, function( val, i ){ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; }) : { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; }).get(); }; 以下是我如何实现对 $.serializeArray 的简单覆盖,它修复了复选框的默认序列化行为,并为所有其他类型保留默认行为。 在下面的代码中,错过的复选框被注入到原始序列化数组中。复选框状态返回为 "true"(而不是 "on")或 "false",具体取决于它是否为 checked。 (function ($) { var _base_serializeArray = $.fn.serializeArray; $.fn.serializeArray = function () { var a = _base_serializeArray.apply(this); $.each(this.find("input"), function (i, e) { if (e.type == "checkbox") { e.checked ? a[i].value = "true" : a.splice(i, 0, { name: e.name, value: "false" }) } }); return a; }; })(jQuery); 您可以自定义它以返回 "on"/"off" 或 true/false。 更新:根据@shyammakwana.me 发现的错误修复了代码。 您可以将未选中的复选框数据附加到 .serializeArray 结果: var formData = $("#mybaseelement").serializeArray(); $('#mybaseelement input[type="checkbox"]:not(:checked)').each(function(i, e) { formData.push({name: e.getAttribute("name"), value: false}); }); 这是我能想到的侵入性最小的解决方案。 您可以为每个复选框添加隐藏的错误值: <input type="checkbox" name="Check01" value="true" /><input name="Check01" type="hidden" value="false" /> <input type="checkbox" name="Check02" value="true" checked="checked" /><input name="Check02" type="hidden" value="false" /> 对于未选中的复选框,您只会获得“false”值;对于选中的复选框,您只会获得“true”和“false”值,因此您可以像这样删除重复项: var params = {}; $.each($('form').serializeArray(), function (index, value) { params[value.name] = params[value.name] ? params[value.name] || value.value : value.value; }); console.log(params); // outputs: {"Check01":"false","Check02":"true"} 我根据@Pointy、@Ben 的答案和原始的 jQuery 代码制定了自己的新解决方案。 @Pointy 的答案有奇怪的行为,返回复选框的上下文,这解决了这个问题。 @Ben 的答案也没有正确执行,因为它总是返回 checkbox = on,即使它未被选中。 $.fn.serializeArrayWithCheckboxes = function() { var rCRLF = /\r?\n/g; return this.map(function(){ return this.elements ? jQuery.makeArray( this.elements ) : this; }) .map(function( i, elem ){ var val = jQuery( this ).val(); if (val == null) { return val == null //next 2 lines of code look if it is a checkbox and set the value to blank //if it is unchecked } else if (this.type == "checkbox" && this.checked == false) { return { name: this.name, value: this.checked ? this.value : ""} //next lines are kept from default jQuery implementation and //default to all checkboxes = on } else { return jQuery.isArray( val ) ? jQuery.map( val, function( val, i ){ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; }) : { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; } }).get(); }; 使用jQuery插件serializeJSON,可以使用data-unchecked-value属性来指定未选中时的值: <input type="checkbox" name="Check01" value="true" data-unchecked-value="false" /> <input type="checkbox" name="Check02" value="true" data-unchecked-value="false" checked="checked" /> JavaScript: $('input').serializeJSON({ parseBooleans: true }); // returns => { 'Check01' : false, 'Check02' : true } @SNag 的回答 工人几乎 99% 只需稍加修正即可。 更改以下行 来自: $.each(this, function (i, e) { 至: $.each(this.find('input'), function (i, e) { 解释:因为这不起作用,因为 this 返回了表单元素。因此,在表单上 .each 不会为我们提供表单内的所有输入元素。所以我做了这个修正,效果非常好。 另一个 SerializeArray() 这个实现再次基于 jQuery 的原始代码,但我需要它来实现一些具有两个不同值的 Bootstrap 的“开关”复选框。 $.fn.serializeArrayWC = function() { var rCRLF = /\r?\n/g; return this.map(function(){ return this.elements ? jQuery.makeArray( this.elements ) : this; }) .map(function(i, elem){ if (this.type == "checkbox") { // Bootstrap checkboxes with two different values. if (jQuery(this).hasClass("switched")) { // Always return value (either on-value or off-value). return { name: this.name, value: this.value }; } // Normal checkboxes. Unchecked checkboxed are not returned. if (!this.checked) { // This will be removed by the !!f filter, below. return false; } // Return the value, or "on". return { name: this.name, value: this.value||"on" }; } var val = jQuery(this).val(); if (val == null) { return { name: elem.name, value: null }; } else { return jQuery.isArray(val) ? jQuery.map( val, function( val, i ){ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; }) : { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; } }) .filter(function(i, f){ return !!f; }) .get(); }; var fields = $("form").serializeArray(); $('form input[type=checkbox]').map(function() { if( !this.checked ) { fields.push({ name: this.name, value: "off" }); } }); <form id="form1"> <input type="text" id="Name" name="Name" placeholder="Your Name" /><br/> <input type="checkbox" id="Check1" name="Check1" /><label>Active</label><br /> <input type="submit" value="Save" /> </form> <script> $("#form1").on("submit", function (e) { e.preventDefault(); var formData = $("#form1").serializeArray(); var active = $("#Check1").prop("checked"); if (active == true) { formData.push({ name: 'Active', value: 'true' }); } else { formData.push({ name: 'Active', value: 'false' }); } }); </script>

回答 13 投票 0

单击 MS Access 表单中的按钮时出现语法错误

我正在创建一个数据库,我想为每个条目生成一个UniqueReference - 格式为YY-0000。在表单中,我放置了一个带有以下代码的按钮,但它提出了语法...

回答 1 投票 0

在 astro 中使用 php 进行表单处理

我想知道你是否可以在 Astro 中使用 PHP 进行表单处理? 我能在 Astro 中找到的用于表单处理的唯一资源是他们的参考页面中的示例,他们在其中构建了一个注册表...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.