html-input 相关问题

input元素表示一个类型化的数据字段,通常带有一个表单控件,允许用户编辑数据。

在 Safari 浏览器中,在输入事件处理程序中修改元素的值时不会触发更改事件

在输入元素的输入事件中修改元素的值时,Safari 浏览器中不会触发更改事件。 我使用了下面的代码块 ` 在输入元素的输入事件中修改元素的值时,Safari 浏览器中不会触发更改事件。 我使用了下面的代码块 `<input type="text" id="textid"\> <script\> var textcase = document.getElementById('textid'); textcase.addEventListener('input', function(args) { document.getElementById('textid').value =document.getElementById('textid').value + "#"; }); textcase.addEventListener('change', function(){ console.log('Change evet triggered'); }); </script\> ` 复制过程: 在输入元素中输入一个值并退出焦点。 查看控制台窗口,更改事件未触发。 预期行为: 在输入元素的输入事件中修改元素的值时。更改必须在 Safari 浏览器中触发。 我刚刚在 Safary 中遇到了同样的问题。 Firefox 和 Chrome 工作正常,但 Safari 不行。 你找到解决办法了吗? 到目前为止我能找到的唯一方法是手动创建“更改”事件并通过 element.dispatchEvent 处理程序中的 input 触发它。但就我而言,使用这个解决方案我无法实现我的目标,所以它不是我的选择。

回答 1 投票 0

HTML 输入 - 撤消以编程方式设置输入值时丢失的历史记录

我有一个 HTML 输入。当用户在其中输入内容时,我设置了“输入”事件来处理将输入更新为用户输入内容的过滤版本(以及更新选择开始和选择...

回答 2 投票 0

如何使用 HTML5 输入模式属性仅验证拉丁字符和扩展拉丁字符

我正在开发一个网络表单,其中要求用户输入只能包含拉丁字符的文本,包括扩展拉丁字符(例如 ñ、é、ü 等),但应排除任何非...

回答 1 投票 0

Javascript:如何实时获取输入的值?

我正在编写一个网页,我有一个输入,用户必须输入一个 5 个字母的单词和一个将使用所述单词作为功能的按钮,我希望只要 5 个字母就禁用该按钮.. .

回答 1 投票 0

如何让OnChange和OnKeyDown很好地协同工作?

所以我正在制作一个连接到 OpenWeather api 的天气应用程序,并希望我正在使用的搜索输入元素具有某些功能。我想在用户按下 Enter k 后获取用户输入...

回答 1 投票 0

即使添加步骤后也无法在输入类型中添加小数

我有 HTML 输入,它设置为数字输入,包括向上和向下插入符。令我惊讶的是我无法输入任何十进制数字。 它不...

回答 2 投票 0

将上传的视频加载到html中

我希望用户能够上传视频,然后通过单击按钮将视频加载到标签中进行查看。 这是一个例子: HTML: 函数 loadvideo() { 视频 = 文档。

回答 1 投票 0

如何修复HTML5输入框高度不一致的问题?

HTML5 中引入的一些新输入类型(例如 )在 Google Chrome 中更高。有没有办法在不设置固定高度的情况下修复不一致的高度? 目标是maki...

回答 7 投票 0

警报框未显示 Html 输入字段的总和

网站编程新手。我正在尝试用从客户端获取的 2 个输入字段创建一个基本的求和方程。 ` 网站编程新手。我正在尝试使用从客户端获取的 2 个输入字段创建一个基本的求和方程。 ` </head> <body> <form> <input type="number" id="x"> <input type="number" id="y"> <script> let x = document.getElementById('x').nodeValue; let y = document.getElementById('y').nodeValue; function sum(x, y) { let sum = x + y; alert(sum); } </script> <input type="submit" value="submit" onclick="sum(x, y)"> </form> </body> ` 我在浏览器(Opera Gx,如果重要的话)中运行我的代码,当我选择两个数字,然后点击提交时,它会显示警报框。然而出现的是: “[对象 HTMLInputElement][对象 HTMLInputElement]” 我知道正在使用输入元素,但我显然希望我的 sum 函数返回 2 个输入字段的总和。 我不明白我做错了什么。 代码中的问题与您检索输入字段的值的方式有关。您使用的是 nodeValue 属性,这不是获取输入元素值的正确方法。 相反,您应该使用 value 属性来检索输入元素的值。这是更正后的代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Sum Calculator</title> </head> <body> <form> <input type="number" id="x"> <input type="number" id="y"> <input type="submit" value="Submit" onclick="sum()"> </form> <script> function sum() { // Retrieve the values of the input fields let x = parseFloat(document.getElementById('x').value); let y = parseFloat(document.getElementById('y').value); // Check if the input values are valid numbers if (!isNaN(x) && !isNaN(y)) { // Perform the sum let result = x + y; alert("The sum is: " + result); } else { alert("Please enter valid numbers in both fields."); } } </script> </body> </html> 您应该在调用函数时检查输入字段的值(而不是像现在一样在脚本运行时检查一次)。 为此,您可以使用 .value 属性,而不是在元素上使用 nodeValue : </head> <body> <form> <input type="number" id="x"> <input type="number" id="y"> <script> let x = document.getElementById('x'); let y = document.getElementById('y'); function sum(x, y) { let sum = x.value + y.value; alert(sum); } </script> <input type="submit" value="submit" onclick="sum(x, y)"> </form> </body> 但是您还需要将这些值解析为数字: </head> <body> <form> <input type="number" id="x"> <input type="number" id="y"> <script> let x = document.getElementById('x'); let y = document.getElementById('y'); function sum(x, y) { let sum = parseFloat(x.value) + parseFloat(y.value); alert(sum); } </script> <input type="submit" value="submit" onclick="sum(x, y)"> </form> </body>

回答 2 投票 0

如何使用 Tailwind CSS 设置 HTML 文件输入样式?

当我遇到这个问题时,我花了大约 20 分钟在这里的一篇文章中找到答案:https://www.kindacode.com/snippet/how-to-style-file-inputs-with-tailwind-css / 不过我已经滚动了...

回答 2 投票 0

HTML 输入类型=“文件”无法拉起 Pixel / android 14 组合的相机

我将其发布在 GitHub 的react-native-webview 讨论线程中,以防他们需要添加支持,但想看看是否有人有任何想法: 免责声明:我是网络

回答 1 投票 0

输入的最小值和最大值实际上是做什么的?

我期望 的最小值和最大值将可选选项限制在两个值之间的范围内。例如,他们在 中这样做。但是 type=&q...

回答 2 投票 0

mwc-文本字段输入模式不适用于反斜杠或竖线

我正在尝试向 mwc-textfield 输入添加模式以过滤文件名。我的模式似乎是有效的 js 正则表达式,并且似乎适用于 html 输入,但不能作为 mwc-textfield 上的模式。我...

回答 1 投票 0

仅具有底部边框的输入文本字段

如何设置文本输入字段的样式,使其只有像这样的边框底部? 预期的文本输入字段

回答 7 投票 0

有没有办法改变文件输入中按钮的颜色?

对于文件输入 (),有一个按钮显示“选择文件”。 它的颜色是灰色的,我想改变这种颜色。因为从技术上来说它不是 <

回答 1 投票 0

chrome setSelectionRange() 在 oninput 处理程序中不起作用

我正在使用一些自动完成代码。 setSelectionRange() 用于选择 oninput 事件处理程序中已完成的文本。它至少在 Firefox 14 中有效,但在 Chrome(6, 17) 中无效。 简化...

回答 5 投票 0

Step 属性在 <input type="datetime-local"> 和 <input type="time">

我无法理解和中的step属性。它似乎在所有主要浏览器中都没有得到很好的实现。 步骤=“1&...

回答 1 投票 0

如何为输入设置默认值[type =“date”] [重复]

我已经尝试过(JSFiddle): 但不起作用,如何设置默认值?

回答 14 投票 0

如何禁用 HTML 输入中选择日期的任何一天?

我在 React 中有一个页面,我使用浏览器输入。如何阻止我在相关输入中指定的任何日历日? 我在 React 中有一个页面,我使用浏览器输入。如何阻止我在相关输入中指定的任何日历日? <input type="date" id="start" name="trip-start" value="2018-07-22"/> 我需要阻止用户在我指定的特殊日子做出选择。 我知道calendar受到min-max等值的限制,但我想要的不是禁用日期范围内的日期。我想禁用并阻止直接从日历中的任何一天或一年选择日期。 我认为你可以通过状态和事件处理程序来处理这种行为。 import React, { useState } from 'react'; const DateInput = () => { const [selectedDate, setSelectedDate] = useState(''); // Specify the list of disabled dates const disabledDates = ['2022-12-25', '2023-01-01']; const handleDateChange = (event) => { const selectedValue = event.target.value; // Check if the selected date is not in the list of disabled dates if (!disabledDates.includes(selectedValue)) { setSelectedDate(selectedValue); } }; return ( <div> <label htmlFor="start">Select a date:</label> <input type="date" id="start" name="trip-start" value={selectedDate} onChange={handleDateChange} min="2022-01-01" max="2023-12-31" /> </div> ); }; export default DateInput;

回答 1 投票 0

HTML 范围有时会卡住

当我滑动 HTML 范围输入时,我的鼠标变成“不允许”光标,并且滑动停止。 .main__slider__input { 宽度:100%; } 当我滑动 HTML 范围输入时,我的鼠标变成“不允许”光标,并且滑动停止。 .main__slider__input { width: 100%; } <div class="main__slider"> <!-- <label for="slider-height">Height</label> --> <input id="slider-height" type="range" class="main__slider__input" /> <!-- <label for="slider-width">Width</label> --> <input id="slider-width" type="range" class="main__slider__input" /> <!-- <label for="slider-zoom">Zoom</label> --> <input id="slider-zoom" type="range" class="main__slider__input" /> </div> 起初,我以为鼠标在我添加到输入的 HTML 标签上拖动。然而,当我注释掉这些内容时,问题仍然存在。 这是演示该问题的视频。 我认为鼠标聚焦在输入周围的一些空白处,这导致它无法平滑滑动,我该如何纠正这个问题。 据 Grumpy 报道,这是由于意外选择滑块后面的元素造成的。 因此,可以通过禁用容器中的选择来解决此问题: .container{ -webkit-user-select: none; /* Safari */ -ms-user-select: none; /* IE 10 and IE 11 */ user-select: none; /* Standard syntax */ }

回答 1 投票 0

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