Javascript 在HTML5表单中的每个单词的开头添加一个hashtag()
我在HTML文档的一个页面上有一个表单,我想知道javascript或jquery中是否有办法在每个单词的开头添加一个hashtag。输入的单词可能不止一个Javascript 在HTML5表单中的每个单词的开头添加一个hashtag(),javascript,jquery,html,css,hashtag,Javascript,Jquery,Html,Css,Hashtag,我在HTML文档的一个页面上有一个表单,我想知道javascript或jquery中是否有办法在每个单词的开头添加一个hashtag。输入的单词可能不止一个 <input id="test"> <script> var a = document.getElementById('test'); a.addEventListener('keyup',addthis); function addthis() { b = a.value.replace('#','')
<input id="test">
<script>
var a = document.getElementById('test');
a.addEventListener('keyup',addthis);
function addthis() {
b = a.value.replace('#','');
a.value = '#'+b
if (a.value.indexOf(' '))
{
a.value = a.value.replace(' ','#');
}
}
</script>
这将执行您想要的操作,并将光标移动到要引导的字段的末尾 更新:使用keydown insteead筛选出多个空格
function addHash(event) {
if (event.keyCode === 32 && event.target.value.length) {
event.preventDefault();
var elem = event.target,
val = elem.value;
if (val.slice(-1) !== '#') {
elem.value += ' #';
}
} else if (!event.target.value.length) {
if (event.keyCode === 32) {
event.preventDefault();
}
event.target.value = '#';
}
}
我用叉子叉了一下巴奥的小提琴来测试
您可以使用jquery onchange eventlistner实现这一点 下面的脚本获取inputfield的值,并将每个单词拆分为一个空格,使其成为一个数组。然后它在单词数组中循环,如果单词的开头没有a,它会添加一个。然后用新值替换输入字段中的旧值
$('#input').on('change', function(e){
var input_string = $(this).val();
var words = input_string.split(" ");
var output = "";
console.log(words);
$.each(words , function(i, word ){
console.log(word);
if(word.substr(0, 1) == "#")
{
output += word + " ";
}
else
{
output += "#" + word + " ";
}
console.log(output);
});
$(this).val(output);
});
表单字段中的哪些单词?在您的文档中,您尝试了什么?在页面加载时还是在用户键入时?hashtag是一个带前缀的完整单词。是一个磅/数字符号。我希望表单中的单词在用户键入时在其前面添加。baao太棒了!有没有办法阻止它向空格中添加hashtag?@user2640633试试这个,这有点问题,但是Jonathan Lonowski~有很多与此表单无关的Jquery被修复了。我可以很容易地设置它的HTML部分,但我有一个切换开关,当切换时会更改表单中的占位符文本。我承认我对javascript和jquery知之甚少……我的老师在大部分方面都帮助我,我试着阅读他的代码,并尽力理解它goes@RubberDucky4444看这个,这个很好,很好的一个!但是如果你按空格键两次,它也会给你额外的空间。@RubberDucky4444请重新检查代码。它现在也为开始添加了内容,并且可以做您想要的一切。按住空格也不会破坏baao的:试着在他的代码中按住空格。如果要删除空格,只需删除elem.value+='';中下面的空格即可;。Makaze非常好用,只是它不会在第一个单词中添加一个字母!谢谢你的帮助!!!!我必须给输出赋值。这就是为什么第一个单词没有得到正确答案的原因。我更新了小提琴和链接。