Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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 无法读取属性';价值';_Javascript_Forms_Radio Button_Multi Step - Fatal编程技术网

Javascript 无法读取属性';价值';

Javascript 无法读取属性';价值';,javascript,forms,radio-button,multi-step,Javascript,Forms,Radio Button,Multi Step,我花了一天的大部分时间试图解决这个问题。 一点背景:我正在设计一个多步骤表单,其中一个步骤是在两个选项(都是单选按钮)之间进行选择 例如,第一步是选择性别“男”或“女”,第二步是在文本输入中输入一些东西。 我的问题是,当我选择性别时,它不会进入第二步。我还遇到了一个问题,它确实进入了第二步,但返回的值是“未知的” $('gpadding input:radio').addClass('input\u hide'); $('label')。单击(函数(){ $(this).addClass('s

我花了一天的大部分时间试图解决这个问题。 一点背景:我正在设计一个多步骤表单,其中一个步骤是在两个选项(都是单选按钮)之间进行选择

例如,第一步是选择性别“男”或“女”,第二步是在文本输入中输入一些东西。 我的问题是,当我选择性别时,它不会进入第二步。我还遇到了一个问题,它确实进入了第二步,但返回的值是“未知的”

$('gpadding input:radio').addClass('input\u hide');
$('label')。单击(函数(){
$(this).addClass('selected').sides().removeClass('selected');
});
变量性别、fname、lname;
函数ux){
返回文档.getElementById(x);
}
函数next1(){
性别=uu(“性别”)。值;
_(“步骤1”).style.display=“无”;
_(“步骤2”).style.display=“块”;
}
函数next2(){
fname=uu(“firstname”).value;
lname=uU9;(“lastname”).value;
_(“步骤2”).style.display=“无”;
_(“显示所有数据”).style.display=“块”;
_(“显示性别”).innerHTML=性别;
_(“display_fname”).innerHTML=fname;
_(“显示名称”).innerHTML=lname;
}

性别
男性
女性
下一个
接近
名称
下一个
接近
完成



登记 接近
也许可以将您的代码更改为:

function next1() {

   var gender_controls = document.getElementsByName("gender");
   gender = gender_controls[0].checked ? gender_controls[0].value : gender_controls[1].value;

  _("step1").style.display = "none";
  _("step2").style.display = "block";
}
  • 不能在
    内使用
  • 确认身份证 你瞄准的选择器实际上是存在的
  • 您可以将所有需要的内容包装在标签中,而无需使用
    for
    id
    属性:
函数ux{return document.getElementById(x);}
函数_n(x){return document.getElementsByName(x);}//需要按名称获取元素
变量性别,输入;
函数next1(){
var radio=_n(“性别”);//按名称获取元素!!

对于(var i=0,j=radio.length;i您的问题是什么?HTML不允许
的范围内,当您的标记都没有“性别”时,如何请求getElementById(“性别”)作为id?也没有
show_data
display_gender
display_input
元素。代码中访问的id都不存在。
getElementById
不返回数组。id必须是唯一的,因此只返回一个节点。感谢您的回复。这样,当我单击“下一步”时不会发生任何事情。我检查了控制台,发现错误完全相同。但这次“无法读取未定义的属性‘checked’”。抱歉,getElementById确实返回了一个元素。已测试
gender=uuU9;(“gender”).value;
(在最新的chrome上)第一个性别控制从DOM返回,无论是否被选中。换句话说,值始终为
'm'
,我可以建议一种稍微不同的方法-将更新我的答案。请更新我的答案(并测试它)。我在chrome中没有发现任何错误,而且multi-STP似乎运行正常。感谢您花时间纠正这一切。不幸的是,无论我单击哪个单选按钮,即使我选择女性,男性的返回值始终为“m”。对不起,巴德,我是此网站的新手:)这怎么可能呢?我做错了什么lol…。我也在我的网站上输入了你的确切代码…叫我白痴。我把两个值都设置为“m”。哈哈哈,你的代码也很棒。谢谢你!