forms 相关问题

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

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

为什么我无法在控制台中看到值?一切都正确到位,但在控制台中看不到表单值。我认为这与 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

在第一个组合框中进行选择后,级联表单遇到问题,无法让数据出现在第二个组合框中

我正在使用一个维修店数据库来保存我的客户、他们的设备以及为维修他们的设备而创建的任何维修票。我想要一份维修票表格,可以让我选择

回答 1 投票 0

使用单击事件监听器添加和删除类

我正在使用 CSS 制作叠加层,但需要一个 onclick 事件来更改类的内容。 我在登录表单下制作了一个注册表单。点击注册后,注册表格类

回答 1 投票 0

限制表单输入文本字段中允许的字符数

如何限制或限制用户在文本框中最多只能输入五个字符? 下面是我的表单的输入字段: 如何限制或限制用户在文本框中最多只能输入五个字符? 下面是我表单的一部分的输入字段: <input type="text" id="sessionNo" name="sessionNum" /> 是否使用了 maxSize 之类的东西? 最大长度: 接受输入的最大字符数。这可以大于 SIZE 指定的值,在这种情况下,该字段 将适当滚动。默认无限制。 <input type="text" maxlength="2" id="sessionNo" name="sessionNum" onkeypress="return isNumberKey(event)" /> 但是,这可能会或可能不会受到您的处理程序的影响。您可能还需要使用或添加另一个处理程序函数来测试长度。 最简单的方法: maxlength="5" 所以..将此属性添加到您的控件中: <input type="text" id="sessionNo" name="sessionNum" onkeypress="return isNumberKey(event)" maxlength="5" /> 让事情变得更简单 <input type="text" maxlength="3" /> 并使用警报来显示已使用最大字符数。 将以下内容添加到标题中: <script language="javascript" type="text/javascript"> function limitText(limitField, limitNum) { if (limitField.value.length > limitNum) { limitField.value = limitField.value.substring(0, limitNum); } } </script> <input type="text" id="sessionNo" name="sessionNum" onKeyDown="limitText(this,5);" onKeyUp="limitText(this,5);"" /> 根据 w3c,MAXLENGTH 属性的默认值是无限数量。因此,如果您没有指定最大值,用户可以多次剪切和粘贴圣经并将其粘贴在您的表单中。 即使您确实将 MAXLENGTH 指定为合理的数字,请确保在处理之前仔细检查服务器上提交的数据的长度(使用 php 或 asp 等),因为无论如何,绕过基本的 MAXLENGTH 限制都很容易 <input type="text" maxlength="5"> 输入中最多可以输入 5 个字母。 最大长度 接受输入的最大字符数。 maxlength 属性指定元素中允许的最大字符数。 Maxlength W3 学校 <form action="/action_page.php"> Username: <input type="text" name="usrname" maxlength="5"><br> <input type="submit" value="Submit"> </form> 我总是这样做: $(document).ready(function() { var maxChars = $("#sessionNum"); var max_length = maxChars.attr('maxlength'); if (max_length > 0) { maxChars.on('keyup', function(e) { length = new Number(maxChars.val().length); counter = max_length - length; $("#sessionNum_counter").text(counter); }); } }); 输入: <input name="sessionNum" id="sessionNum" maxlength="5" type="text"> Number of chars: <span id="sessionNum_counter">5</span> 您可以使用 <input type = "text" maxlength="9"> 或 <input type = "number" maxlength="9"> 表示数字 或者 <input type = "email" maxlength="9"> 用于电子邮件 验证将会显示 <input type="number" id="xxx" name="xxx" oninput="maxLengthCheck(this)" maxlength="10"> function maxLengthCheck(object) { if (object.value.length > object.maxLength) object.value = object.value.slice(0, object.maxLength) } 以下代码包含了一个计数... var count = 1; do { function count_down(obj, count){ let element = document.getElementById('count'+ count); element.innerHTML = 80 - obj.value.length; if(80 - obj.value.length < 5){ element.style.color = "firebrick"; }else{ element.style.color = "#333"; } } count++; } while (count < 20); .text-input { padding: 8px 16px; width: 50%; margin-bottom: 5px; margin-top: 10px; font-size: 20px; font-weight: 700; font-family: Raleway; border: 1px solid dodgerblue; } <p><input placeholder="Title" id="bike-input-title" onkeyup="count_down(this, 3)" maxlength="80" class="text-input" name="bikeTitle" ></p> <span id="count3" style="float: right; font-family: Raleway; font-size:20px; font-weight:600; margin-top:-5px;">80</span><br> 晚了,但如果你想要一个完整的证明方法来限制数字或字母,这只是 javascript 并且还限制字符长度: 更改.slice后的第二个数字以设置字符数。这对我来说效果好多了maxlength。 只是数字: oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1').slice(0, 11); 只是字母: oninput="this.value=this.value.replace(/[^A-Za-z\s]/g,'').slice(0,20);" 完整示例: <input type="text" name="MobileNumber" id="MobileNumber" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1').slice(0, 11);"/> 不要为旧的解决方案而烦恼。 这就是您需要的: function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : evt.keyCode; // Allowing only numbers and specific keys (backspace, delete, arrow keys) if (charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } // Checking maximum character limit if (evt.target.value.length >= 11) { return false; } return true; } <input type="text" placeholder="ID Number" maxlength="11" onkeypress="return isNumberKey(event)"> 使用 maxlenght="字符数" <input type="text" id="sessionNo" name="sessionNum" maxlenght="7" /> <input type="text" name="MobileNumber" id="MobileNumber" maxlength="10" onkeypress="checkNumber(event);" placeholder="MobileNumber"> <script> function checkNumber(key) { console.log(key); var inputNumber = document.querySelector("#MobileNumber").value; if(key.key >= 0 && key.key <= 9) { inputNumber += key.key; } else { key.preventDefault(); } } </script>

回答 15 投票 0

一个表单元素可以使用多个标签吗?

以下是 HTML5 中 label 元素的有效用法吗? 一些文字 ... ....

回答 2 投票 0

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