javascript - 在用户输入时抓取文本输入

标签 javascript jquery html textinput

我正在尝试使用输入文本字段中的数据即时更新 span 标签。基本上我有一个文本字段,我希望能够在用户输入时获取他们的输入,并在该字段下方的 span 标记中显示给他们。

代码:

<input id="profileurl" type="text">
<p class="url">http://www.randomsite.com/<span id="url-displayname">username</span></p>

JQuery:

var username;

$('#profileurl').keyup(function(username);
$("#url-displayname").html(username);

在 JS Fiddle 中查看:http://jsfiddle.net/pQ3j9/

我猜 keyup 函数不是执行此操作的最佳方法。因为检查 key 将无法获取预填充或粘贴的表单输入。

理想情况下,有一些神奇的 jQuery 函数可以在检测到按下键时输出框中的任何信息,但如果该方法存在我还没有找到它。

编辑:你们真是太棒了。看起来 .val() 就是那个神奇的方法。

第二个问题:您将如何限制输入?查看修改后的 jsfiddle,当用户输入像 < hr > 这样的 html 标记时,浏览器会解释它并破坏表单。你指定一个数组然后检查它吗? jquery 有类似 PHP 的 strip_tags 函数吗?

最佳答案

$('#profileurl').keyup(function(e) {
    $("#url-displayname").html($(this).val());
}).keypress(function(e) {
    return /[a-z0-9.-]/i.test(String.fromCharCode(e.which));
});

查看修改后的jsfiddle:
http://jsfiddle.net/roberkules/pQ3j9/5/

更新:正如@GregL 指出的那样,keyup 确实更好,(否则,例如根本不处理退格)。

关于javascript - 在用户输入时抓取文本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6366199/

相关文章:

java - 如何在 Java 中为 javascript 小部件记录印象(和数据)?

javascript - 如何与公司 LDAP 服务器成功绑定(bind)

javascript - Babel 不转译从 'node_modules' 导入的模块

javascript - 在输入字段字符串末尾添加特殊字符,jquery 自动添加逗号

javascript - 如何从异步调用返回响应?

javascript - 如何为一个 scrollspy 位置指定不同的 scrollTop 值?

javascript - 在 Microsoft Edge 中打开跨源窗口时忽略 window.open() 参数

JavaScript 切换大小写

jQuery DatePicker 如何在浏览日历时禁用自动日期选择?

javascript - 无法在 html/javascript 中提交表单