修改后的输入值不是由jQuery检索的

时间:2017-07-18 15:57:49

标签: javascript jquery input

我遇到了一个非常奇怪的情况。在我的问题排查中,我在文本字段中添加了value="test"并添加了console.log($('input[name*="name"]').val());,因此整个代码如下所示:



$('body').on('click', 'input[type="button"][name*="review"]', function() {
    console.log($('input[name*="name"]').val());
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="textfield-name" placeholder="Required" value="test" >
<input type="button" name="review" value="Review" />
&#13;
&#13;
&#13;

在控制台中,它现在会说&#34; test&#34;正如所料。但如果我删除&#34; test&#34;从文本字段的值和类型随机出现像&#34; dsa&#34;,它会说......什么都没有!只是控制台中的空白行!如果我在test之后添加文字,它只会显示&#34; test&#34;而不是我输入的文字。

我使用的代码完全与上面的代码相同,并且它在前天完美运行。我在2天前到现在之间没有编辑或添加任何其他内容,因为我昨天正在进行为期一天的旅行。

如果我在jsFiddle中运行代码,它将正常执行所有操作。

我还测试过删除JavaScript文件中的所有内容,只留下$(document).ready(function() { ... }内的代码。结果与上述相同。当我测试删除HTML文件中的所有内容并仅保留输入时,这也适用。

我还测试过将.val()替换为.prop('value'),但结果是一样的。

简而言之,我输入文本字段的所有文本都被网站完全忽略了!

请原谅我的语言,但是这里的h ***是什么?!这是某种错误还是什么?

1 个答案:

答案 0 :(得分:0)

现在问题已经解决了,感谢Rory McCrossan!

问题是同一页面上存在多个同名文本字段。我将帖子ID添加到data属性(data="1")中,问题就在此之后。

非常感谢睁开我的眼睛,Rory!