0

我有 2 个单选按钮 A 和 B。B 按钮也有一个文本字段。

默认下一个按钮是隐藏的,它应该出现在以下情况下

  1. 如果用户单击按钮 A
  2. 用户单击按钮 B 并在文本字段中输入文本

我试试这个:

JavaScript

window.onload=function(){
   document.getElementById("next").style.display='none';
} 

function shownext(){
  var A = document.getElementById('A').value;
  var B = document.getElementById('B').value;
  var name = document.getElementById('name').value;
  if(A != "" || (B != "" && name != "")){
  document.getElementById("next").style.display='block';
     return false;
  }
  if(A == "" && B == "" && name == ""){
  document.getElementById("next").style.display='none';
     return false;
  }
}

HTML

<input type="radio" name="A" id="A" value="A" onClick="shownext();"/>
<input type="radio" name="A" id="B" value="B" onClick="shownext();"/>
<input type="text" name="name" id="name" onKeyDown="shownext();" onKeyUp="shownext();"/>

<a href="#q2" id="next"><img src="next.png"/></a>
4

1 回答 1

1

您的第一if条语句中有语法错误——您打开的括号多于关闭的括号。

您的单选按钮始终有一个value,因此您不能仅通过检查值来检查它们的状态。你需要检查他们的checked财产。

您也不需要两个ifs,else第一个if更合适,因为您基本上只有两种可能的结果(显示“下一步”按钮或隐藏它)。

这是固定代码的工作演示

于 2013-01-21T07:46:32.460 回答