Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:无法读取属性';价值';空的_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript TypeError:无法读取属性';价值';空的

Javascript TypeError:无法读取属性';价值';空的,javascript,jquery,ajax,Javascript,Jquery,Ajax,回答测验的单选按钮,我的单选按钮是 <input id="ans_ans1" name="ans" type="radio" value="ans1"> 我的下一个ajax请求是 <a href="#" onclick="Element.show('loader'); jQuery.ajax({data:'answer='+$('ans').value+'&amp;passed_question=1&amp;'+'&amp;exam_group_i

回答测验的单选按钮,我的单选按钮是

<input id="ans_ans1" name="ans" type="radio" value="ans1">

我的下一个ajax请求是

<a href="#" onclick="Element.show('loader'); jQuery.ajax({data:'answer='+$('ans').value+'&amp;passed_question=1&amp;'+'&amp;exam_group_id=1&amp;' + '&amp;authenticity_token=' + encodeURIComponent('GGKdjhC39b1Fi5fe52Cq0VcPwpi6laphZblC/5ZOl8o='), dataType:'script', success:function(request){Element.hide('loader')}, type:'post', url:'/answers/next'}); return false;">Next</a>

在我的安慰下

$('ans')。值给出TypeError:无法读取null的属性'value'

任何人都可以帮助我获取ajax请求中单选按钮的值

<a href="#" onclick="Element.show('loader'); jQuery.ajax({data:'answer='+$('#ans_ans1').value+'&amp;passed_question=1&amp;'+'&amp;exam_group_id=1&amp;' + '&amp;authenticity_token=' + encodeURIComponent('GGKdjhC39b1Fi5fe52Cq0VcPwpi6laphZblC/5ZOl8o='), dataType:'script', success:function(request){Element.hide('loader')}, type:'post', url:'/answers/next'}); return false;">Next</a>

尝试使用

<a href="#" onclick="Element.show('loader'); jQuery.ajax({data:'answer='+$('#ans_ans1').value+'&amp;passed_question=1&amp;'+'&amp;exam_group_id=1&amp;' + '&amp;authenticity_token=' + encodeURIComponent('GGKdjhC39b1Fi5fe52Cq0VcPwpi6laphZblC/5ZOl8o='), dataType:'script', success:function(request){Element.hide('loader')}, type:'post', url:'/answers/next'}); return false;">Next</a>

将此更改为

$('ans').value
这个

将此更改为

$('ans').value
这个


选择器错误,检索值的方法为:

修改:

<a href="#" onclick="Element.show('loader'); jQuery.ajax({data:'answer='+$('#ans_ans1').val()+'&amp;passed_question=1&amp;'+'&amp;exam_group_id=1&amp;' + '&amp;authenticity_token=' + encodeURIComponent('GGKdjhC39b1Fi5fe52Cq0VcPwpi6laphZblC/5ZOl8o='), dataType:'script', success:function(request){Element.hide('loader')}, type:'post', url:'/answers/next'}); return false;">Next</a>

选择器错误,检索值的方法:

修改:

<a href="#" onclick="Element.show('loader'); jQuery.ajax({data:'answer='+$('#ans_ans1').val()+'&amp;passed_question=1&amp;'+'&amp;exam_group_id=1&amp;' + '&amp;authenticity_token=' + encodeURIComponent('GGKdjhC39b1Fi5fe52Cq0VcPwpi6laphZblC/5ZOl8o='), dataType:'script', success:function(request){Element.hide('loader')}, type:'post', url:'/answers/next'}); return false;">Next</a>

在我看来,您使用的是jQuery与Prototype或MooTools的混合。(原因见下文。)

如果是这样,我的第一个建议是停止这样做。选择一个并在整个过程中使用它

但您的主要问题是,您正在使用不存在的
id
“ans”
)查找元素。
id
ans1
。因此,要么:

$("ans_ans1").value         // Prototype / MooTools using raw `value` prop


为什么我认为您使用的是混合库:

  • 你说过:

    $('ans')。值给出TypeError:无法读取null的属性'value'

    这对于jQuery来说毫无意义。jQuery的
    $
    函数总是返回非
    null
    。它可能返回一个空集,但它将返回非空集。然而,如果没有匹配的
    id
    的元素(在您的示例中没有),则Prototype或MooTools的
    $
    将返回
    null

  • 调用jQuery的
    ajax
    时,您使用的是符号
    jQuery
    ,而不是
    $
    ,这向我表明您使用的是jQuery的
    noConflict
    ,这样您就可以让原型或MooTools与之共存(因为它们想要
    $


  • 在我看来,您使用的是jQuery与Prototype或MooTools的混合。(原因见下文。)

    如果是这样,我的第一个建议是停止这样做。选择一个并在整个过程中使用它

    但您的主要问题是,您正在使用不存在的
    id
    “ans”
    )查找元素。
    id
    ans1
    。因此,要么:

    $("ans_ans1").value         // Prototype / MooTools using raw `value` prop
    


    为什么我认为您使用的是混合库:

  • 你说过:

    $('ans')。值给出TypeError:无法读取null的属性'value'

    这对于jQuery来说毫无意义。jQuery的
    $
    函数总是返回非
    null
    。它可能返回一个空集,但它将返回非空集。然而,如果没有匹配的
    id
    的元素(在您的示例中没有),则Prototype或MooTools的
    $
    将返回
    null

  • 调用jQuery的
    ajax
    时,您使用的是符号
    jQuery
    ,而不是
    $
    ,这向我表明您使用的是jQuery的
    noConflict
    ,这样您就可以让原型或MooTools与之共存(因为它们想要
    $

  • 你应该参考这个

    你可以改变

    $('ans').value
    
    进入

    你应该参考这个

    你可以改变

    $('ans').value
    
    进入


    因为它似乎与jQuery一起使用--:

    Prototype希望它的参数是
    id
    的值,而不是
    名称
    。所以

    $('ans').value
    
    应该是

    $('ans_ans1').value
    
    匹配标记中的


    如果您想改为通过
    name
    选择,则可以与属性选择器一起使用。不过,它会返回一个集合

    $$('[name="ans"]')[0].value
    

    因为它似乎与jQuery一起使用--:

    Prototype希望它的参数是
    id
    的值,而不是
    名称
    。所以

    $('ans').value
    
    应该是

    $('ans_ans1').value
    
    匹配标记中的


    如果您想改为通过
    name
    选择,则可以与属性选择器一起使用。不过,它会返回一个集合

    $$('[name="ans"]')[0].value
    
    只用

    $('#ans_ans1')
    

    要得到值,只需 使用 像这样
    $('ans#ans1').val()

    我想你应该学习一些关于使用的内容

    $('#ans_ans1')
    

    要得到值,只需 使用 像这样
    $('ans#ans1').val()


    我想你应该研究一下

    上的一些内容,因为没有标记名为“ans”的元素。它应该是
    $('#ansu ans1').val()
    。您确定使用的是jQuery而不是Prototype或MooTools吗?“$('ans')。value给出了TypeError:无法读取null的属性'value',这对jQuery毫无意义。jQuery的
    $
    函数总是返回非
    null
    。它可能返回一个空集,但它将返回非空集。然而,如果没有具有匹配的
    id
    的元素(在您的示例中没有),Prototype或MooTools中的
    $
    将返回
    null
    ,因为没有标记名为“ans”的元素。它应该是
    $('#ansu ans1').val()
    。您确定使用的是jQuery而不是Prototype或MooTools吗?“$('ans')。value给出了TypeError:无法读取null的属性'value',这对jQuery毫无意义。jQuery的
    $
    函数总是返回非
    null
    。它可能返回一个空集,但它将返回非空集。然而,如果没有匹配的
    id
    的元素(在您的示例中没有),则来自Prototype或MooTools的
    $
    将返回
    null
    。如果OP真的在使用jQuery,这是合理的,但是OP引用的错误消息表明他/她不是。如果OP真的在使用jQuery,这是合理的,但是OP引用的错误消息表明他/她不是。当我使用$(“ans_ans1”)时,我有多个单选按钮.值返回ans1。。适用于所有电台