Javascript 更改输入值的简单jQuery调用继续返回TypeError$(…)为null
当我试图弄明白为什么jQuery总是抛出一个TypeError来替换HTML中的输入值时,我的头发掉了出来 在我的一个函数中调用下面的行,以更改名为“form_key”的函数的所有输入值 $('input[name=“form_key”]”).val(“ItWorks!”) (居住在) 有多个页面有这个隐藏的输入名称,有些页面不止一次有这个名称,我正在尝试更改页面上所有页面的值 下面的页面只有一个,但Firebug始终显示一个TypeError,无论我用多少种方法替换该值。Javascript 更改输入值的简单jQuery调用继续返回TypeError$(…)为null,javascript,jquery,html,ajax,json,Javascript,Jquery,Html,Ajax,Json,当我试图弄明白为什么jQuery总是抛出一个TypeError来替换HTML中的输入值时,我的头发掉了出来 在我的一个函数中调用下面的行,以更改名为“form_key”的函数的所有输入值 $('input[name=“form_key”]”).val(“ItWorks!”) (居住在) 有多个页面有这个隐藏的输入名称,有些页面不止一次有这个名称,我正在尝试更改页面上所有页面的值 下面的页面只有一个,但Firebug始终显示一个TypeError,无论我用多少种方法替换该值。 这可能是非常简单和
这可能是非常简单和愚蠢的事情,但我一直错过它!有什么想法吗?凯文B是对的
$
不是jQuery
开的
使用
或
你已经使用了
http://vt2.net/js/lib/jquery/noconflict.js
在哪里定义
// Avoid PrototypeJS conflicts, assign jQuery to $j instead of $
var $j = jQuery.noConflict();
因此,对于jQuery的所有操作,您需要使用$j
而不是$
您的$
现在来自prototype.js
函数$(元素){
如果(arguments.length>1){
对于(var i=0,elements=[],length=arguments.length;i
你确定$
=jQuery
吗?你可以粘贴完整的错误消息,它可能会变得更清晰。安也很好。@KevinB你是对的$
未启用jQuery。我的坏消息。它必须是纯javascript。在编写原始代码时,该行为:$$('[name=“form_key”]')[0].value=formkey;但它也会有同样的错误。我试图通过简化它来解决问题,但如果不是jquery,那么我的声明显然不起作用。有人愿意解释为什么对答案投反对票吗
http://vt2.net/js/lib/jquery/noconflict.js
// Avoid PrototypeJS conflicts, assign jQuery to $j instead of $
var $j = jQuery.noConflict();
function $(element) {
if (arguments.length > 1) {
for (var i = 0, elements = [], length = arguments.length; i < length; i++)
elements.push($(arguments[i]));
return elements;
}
if (Object.isString(element))
element = document.getElementById(element);
return Element.extend(element);
}