为什么jQuery正在删除文本的最后一个字符
Why is jQuery deleting last character of text?
我有以下jQuery在Confluence页面中工作,以获取用户输入和一些自动建议的链接,并将它们发布到外部页面中的表单中。然而,用户输入的最后一个字符被截断了。不管长度是多少,它都与最后一个字母不一致。
例如,如果用户键入foobar
,POST将发送fooba
。如果用户键入foobar foobar foobar
,则转换为foobar foobar fooba
,依此类推
重要的代码如下:
$( document ).ready(function() {
$('form.aui').on('keypress', showHead);
function showHead() {
$('.suggestHead').delay(500).fadeIn(300);
$('.alertReq, .asterisk').css('visibility', 'hidden');
var dropdownText = ($( "div.searchContainer2 a.content-type-page span" ).text());
$('#capture').val( dropdownText );
var inputvalue = $("#input2").val( );
$('#describe' ).val( inputvalue );
};
});
只有#describe
值才是问题所在。
有一个内置的Confluence字段,我给它一个ID"#input2",当用户在其中键入时,上面的jQuery会将用户输入分配给一个名为inputvalue
的变量,然后将该变量分配给我创建的一个ID为"#description"的隐藏表单字段。(这是为了我可以在表单上使用POST,还有其他原因)。
如果我设置一个警报来查看#describe
中的内容,如下图所示:
//Alert function to test selectors
$(document).on('click','.searchHeading2',function(){
alert ($("#describe").val());
});
该警报包含用户在#input2
中键入的内容,但删除了最后一个字母。这也是我提交到的页面上的表格中的内容。有人知道它为什么会这样做吗?
编辑:对不起,我编辑是为了修复我在两个地方留下的AJS.$
。这就是jQuery的Confluence约定,必须用AJS.$
替换$
,用AJS.toInit(function() {
替换$( document ).ready(function() {
。我想在这里把它变成普通的jQuery,这样就不会混淆了。应该是现在。
A.Wolff在评论中回答:
使用keyup事件代替
相关文章:
- Javascript:删除冒号的最后一个字符
- 如何在单击时从输入字段中删除最后一个字符
- 为什么jQuery正在删除文本的最后一个字符
- Javascript 切掉最后一个字符,如果有 2 个
- 使用JavaScript替换字符串的最后一个字符
- 打印regex之后的最后一个字符
- 字符串替换最后一个字符出现的斜杠
- 如何删除字符串的第一个和最后一个字符
- 如何使用jquery获取最后一个字符
- 使用dojo按键事件时无法避免最后一个字符输入
- Jquery:如何关注DIV的最后一个字符
- 查找字符串中类型的最后一个字符
- 打印出字符串中所有单词的最后一个字符
- 替换字符串的最后一个字符
- 删除元素文本中的最后一个字符
- 使用 Javascript 或 jQuery 删除最后一个字符
- JQuery 或 Javascript 代码,用于更改 html 文本中最后一个字符的字体
- 获取忽略空格的 JavaScript 字符串中的最后一个字符
- range.toString()截断javascript按键事件中的最后一个字符
- JS/JQuery-如果空格是第一个和/或最后一个字符,则从输入字段中删除空格