forms 相关问题

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

有什么方法可以仅向 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

嵌套数组中的 onChange react-hook-form 上的值没有改变

我想使用 React hook 来处理嵌套数组,这就是我的任务。我可以做所有事情,但是当我获得所有正确的值时,状态没有设置在 onChange 上。 这就是我的...

回答 1 投票 0

如何使用Flask、jinja更新表单?

型号 类 ContentOwner(db.Model): id = db.Column(db.String,primary_key=True, 默认=lambda: str(uuid.uuid4())) 所有者= db.Column(db.String(128),索引= True) 参考代码 = db.Colum...

回答 1 投票 0

数以百万计的格式化 - MS Access

我正在尝试将访问表单中的数字格式化为以百万为单位读取,但保留 0. 的显示方式。 使用格式:#,###,,.0 使我的数字 200,000 读作 .2,这很棒.... Bu...

回答 1 投票 0

即使设置自动完成=“关闭”,Chrome 也会自动填充输入字段?

我的网络应用程序中有一个表单,用户可以在其中搜索项目。该表单由一个带有占位符“smHRt searchHR”的输入字段和一个搜索按钮组成。最初,输入 fi...

回答 1 投票 0

控制器中的函数从未在 Laravel 11 中调用过

我有一个表格可以编辑我的用户, @csrf @方法('放置') --内容... 我有一个表格可以编辑我的用户, <form action="{{ route('user.update', ['id' => $user->id]) }}" method="post"> @csrf @method('PUT') --content-- </form> 一个文件 web.php ,其中包含我有 get 方法来接收用户信息的所有路由 //CRUD Edit Users Route::get('dashboard/crud/users/{id}/edit/', [\App\Http\Controllers\UserCrudController::class, 'editUsers'])->middleware(isAdmin::class); Route::put('dashboard/crud/users/{id}/edit/', [\App\Http\Controllers\UserCrudController::class, 'editUsersPost'])->middleware(isAdmin::class)->name('user.update'); 还有一个具有编辑用户功能的控制器,我添加了一个“dd”来查看我是否正在调用该方法,但它从来没有这样做 Public function editUsersPost(ProfileUpdateRequest $request, $id): RedirectResponse { dd('123'); $user = User::findOrFail($id); $user->fill($request->validated()); if ($user->isDirty('email')) { $user->email_verified_at = null; } $user->save(); return Redirect::route('dashboard.crud.users')->with('status', 'profile-updated'); } PHP 是一种区分大小写的语言。在控制器代码中,您必须将“Public”更改为关键字“public”。

回答 1 投票 0

使用 jQuery 更改复选框状态

我正在尝试开发一个 JQuery 脚本,通过根据不同复选框的状态将禁用属性设置为 true 来更改复选框的状态。 我有三个复选框 - 暂停,

回答 1 投票 0

我的 JS 代码正在运行,但部分代码在页脚中可见。我该如何解决这个问题?

我对 JS 很菜鸟,但我正在尽力学习。我添加了一些 JS 行以在 Wordpress 表单中添加功能。这是代码: 我对 JS 很菜鸟,但我正在尽力学习。我添加了一些 JS 行以在 Wordpress 表单中添加功能。这是代码: <?php if ( ! defined( 'ABSPATH' ) ) { exit; } elseif ( defined( 'WP_CLI' ) && WP_CLI ) { return; } add_action( 'wp_footer', function(){ global $post; if( ! $post instanceof WP_Post || ! has_shortcode( $post->post_content, 'forminator_form' ) ) { return; } ?> <style> .forminator-ui .wpmudev-option-limit .wpmudev-disabled{ color:#ddd!important; } .forminator-ui .wpmudev-option-limit .wpmudev-disabled span[aria-hidden]{ border-color: #ddd!important; background-color: #ddd!important; } </style> <script type="text/javascript"> ($=>{ const _forminator_restrict_multiple_fields = { form_ids: [10097], limit: { 'checkbox-1': 1, 'checkbox-2': 1, 'checkbox-3': 1, 'checkbox-4': 1, 'checkbox-5': 1, 'checkbox-6': 1, 'checkbox-7': 1, 'checkbox-8': 1, 'checkbox-9': 1, 'checkbox-10': 1, 'checkbox-11': 8, 'checkbox-12': 8, }, run : function( e, form_id ) { if( _forminator_restrict_multiple_fields.form_ids.indexOf( form_id ) === -1 ){ return; } let _form = $( "#forminator-module-" + form_id ); _form.find('.wpmudev-option-limit').each(function(){ let _field = $(this), checkbox_fields = _field.find( ":checkbox" ); if( checkbox_fields.length ){ checkbox_fields.on('change', function (e) { let _parent = $(this).closest('.wpmudev-option-limit'), _parent_id = _parent.attr('id'), _selected = _parent.find(':checkbox:checked').length; if( _parent_id in _forminator_restrict_multiple_fields.limit && _selected >= _forminator_restrict_multiple_fields.limit[ _parent_id ]){ // save latest value. _field.data('latest_value', $(this).val() ); // disable other options. _parent.find(':checkbox:not(:checked)').each(function(){ $(this).prop('disabled', true).parent().addClass('wpmudev-disabled'); }); }else{ _parent.find(':checkbox:disabled').each(function(){ $(this).prop('disabled', false).parent().removeClass('wpmudev-disabled'); }); _field.removeData('latest_value'); } }); } // auto remove previous value when riched the limit. $(this).on('click', '.wpmudev-disabled', function(){ let _latest_value = _field.data('latest_value') ; if( _latest_value ){ let _previous_opt = $(this).closest('.wpmudev-option-limit').find('input[value="'+ _latest_value +'"'); if( _previous_opt.length ){ _previous_opt.trigger('click'); $(this).removeClass('wpmudev-disabled').find('input:disabled').removeAttr('disabled'); } } }) }); } } $(document).ready(function(){ $.each(_forminator_restrict_multiple_fields.form_ids, function(i, _form_id){ _forminator_restrict_multiple_fields.run(this,_form_id); }); $(document).on( 'response.success.load.forminator', _forminator_restrict_multiple_fields.run ); }); })(jQuery); </script> add_action( 'wp_footer', 'wpmudev_limit_validation_checkbox', 9999 ); function wpmudev_limit_validation_checkbox() { global $post; if ( is_a( $post, 'WP_Post' ) && !has_shortcode( $post->post_content, 'forminator_form' ) ) { return; } ?> <script type="text/javascript"> jQuery( document ).ready( function($){ setTimeout(function() { $('.forminator-custom-form').trigger('after.load.forminator'); },100); $(document).on('after.load.forminator', function(event, form_id) { $.validator.addMethod("min_selection", function (value, element) { let parent = $(element).closest('.wpmudev-checkbox-limit'); let selected = parent.find(':checkbox:checked').length; if ( selected == 8 ) { // Exact selection limit here. return true; } return false; },"Please select 8 options."); $( ".wpmudev-checkbox-limit input" ).attr( "min_selection", "min_selection" ); }); }); </script> <?php }, 999 ); 它运行良好,但部分代码在网站页脚下方可见,我真的不知道发生了什么。以下是可见的代码行: add_action( 'wp_footer', 'wpmudev_limit_validation_checkbox', 9999 ); function wpmudev_limit_validation_checkbox() { global $post; if ( is_a( $post, 'WP_Post' ) && !has_shortcode( $post->post_content, 'forminator_form' ) ) { return; } ?> 我做错了什么?怎么解决? 谢谢! 您面临的问题似乎是由于代码直接回显到页脚中,这导致它在前端可见。要解决此问题,您应该将 PHP 代码包装在输出缓冲区中,然后返回输出。 add_action( 'wp_footer', 'wpmudev_limit_validation_checkbox', 9999 ); function wpmudev_limit_validation_checkbox() { ob_start(); // Start output buffering global $post; if ( is_a( $post, 'WP_Post' ) && !has_shortcode( $post->post_content, 'forminator_form' ) ) { return; } ?> <script type="text/javascript"> jQuery( document ).ready( function($){ setTimeout(function() { $('.forminator-custom-form').trigger('after.load.forminator'); },100); $(document).on('after.load.forminator', function(event, form_id) { $.validator.addMethod("min_selection", function (value, element) { let parent = $(element).closest('.wpmudev-checkbox-limit'); let selected = parent.find(':checkbox:checked').length; if ( selected == 8 ) { // Exact selection limit here. return true; } return false; },"Please select 8 options."); $( ".wpmudev-checkbox-limit input" ).attr( "min_selection", "min_selection" ); }); }); </script> <?php // Return the buffered content echo ob_get_clean(); }

回答 1 投票 0

显示复选框中的按钮

我有一个包含不同健身练习的数据库,我正在尝试为每个练习制作一个排行榜,我想要一个类似于复选框表单的东西,它可以从我的数据库中获取所有练习并将它们添加为...

回答 1 投票 0

验证表单中是否至少填写了一个字段(复选框或其他文本字段),如果两者都为空,则在 Angular 中显示错误?

要验证表单中是否至少填写了一个字段(复选框或“otherText”字段),请为表单组创建一个自定义验证器。该验证器将检查是否在...

回答 1 投票 0

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