gpt4 book ai didi

javascript - 写入时更改输入字段值

转载 作者:行者123 更新时间:2023-12-03 07:18:03 25 4
gpt4 key购买 nike

假设我有一个输入字段

<input type="text" class="form-control" name="filename">

并写下这样的内容:

Hällo

是否可以在写入时检查该字段是否有字母 ä 并在写入时将其更改为 a

到目前为止,我构建了这个:

$search  = array('ä', 'Ä');
$replace = array('ae', 'Ae');

$project = str_replace($search, $replace, $input);

最佳答案

您不能使用 PHP 来完成此操作,而是使用 Javascript 来完成:

var el = document.getElementById("filename");
el.addEventListener('keyup', function(){
var replace = ['ä','å'];
var replacewith = 'a';
var replace1 = ['ö'];
var replacewith1 = 'o';
replace.forEach(function(letter){
el.value = el.value.replace(letter, replacewith);
});
replace1.forEach(function(letter){
el.value = el.value.replace(letter, replacewith1);
});
});

id="filename" 添加到输入元素以使其起作用。您可以根据需要向替换数组中添加任意数量的字母。您还可以添加更多数组来替换字母。

https://jsfiddle.net/dek5as1x/1

编辑:多个字母的解决方案

var el = document.getElementById("filename");
el.addEventListener('keyup', function(){
var replaces = [['ä','å'],['ö','ø'],['ï','ì'],['ü','ù','û'],['ë','ê']];
var replacewith = ['a','o','i','u','e'];
replaces.forEach(function(letterGroup, index){
letterGroup.forEach(function(letter){
el.value = el.value.replace(letter, replacewith[index]);
});
});
});

在这里添加一个新数组 ([]) 来替换。然后,将所有字母添加到该数组中,这些字母应转换为该数组中的相同字母。示例:['ê','ë','è']。然后将该字母添加到 Replacewith 数组中。重要的是,要替换数组中字母的字母与替换中相应数组具有相同的索引。当您有大量字母需要替换时,此解决方案应该更干净一些。

关于javascript - 写入时更改输入字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36328573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com