我遇到了一个非常奇怪的情况。在我的问题排查中,我在文本字段中添加了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;
在控制台中,它现在会说&#34; test&#34;正如所料。但如果我删除&#34; test&#34;从文本字段的值和类型随机出现像&#34; dsa&#34;,它会说......什么都没有!只是控制台中的空白行!如果我在test
之后添加文字,它只会显示&#34; test&#34;而不是我输入的文字。
我使用的代码完全与上面的代码相同,并且它在前天完美运行。我在2天前到现在之间没有编辑或添加任何其他内容,因为我昨天正在进行为期一天的旅行。
如果我在jsFiddle中运行代码,它将正常执行所有操作。
我还测试过删除JavaScript文件中的所有内容,只留下$(document).ready(function() { ... }
内的代码。结果与上述相同。当我测试删除HTML文件中的所有内容并仅保留输入时,这也适用。
我还测试过将.val()
替换为.prop('value')
,但结果是一样的。
简而言之,我输入文本字段的所有文本都被网站完全忽略了!
请原谅我的语言,但是这里的h ***是什么?!这是某种错误还是什么?
答案 0 :(得分:0)
现在问题已经解决了,感谢Rory McCrossan!
问题是同一页面上存在多个同名文本字段。我将帖子ID添加到data
属性(data="1"
)中,问题就在此之后。
非常感谢睁开我的眼睛,Rory!