Javascript 表单字段显示

Javascript 表单字段显示,javascript,html,css,forms,Javascript,Html,Css,Forms,这主要是有效的。当选择第一个Val单选按钮时,它显示SSN。当选择第二个Val单选按钮时,它还显示纸张应用。唯一的问题是,FieldPaperApplication会在选中任何单选按钮之前显示何时加载表单。我需要它隐藏SSN和PaperApplication,直到选中其中一个单选按钮,然后显示正确的字段。我错过了什么 <div class="field SSN"> <label>SSN</label> <input /> &

这主要是有效的。当选择第一个Val单选按钮时,它显示SSN。当选择第二个Val单选按钮时,它还显示纸张应用。唯一的问题是,FieldPaperApplication会在选中任何单选按钮之前显示何时加载表单。我需要它隐藏SSN和PaperApplication,直到选中其中一个单选按钮,然后显示正确的字段。我错过了什么

  <div class="field SSN">
    <label>SSN</label>
    <input />
  </div>

  <div class="field PaperApplication">
    <label>Paper Application</label>
    <input />
  </div>    
这是JS

  <div class="field SSN">
    <label>SSN</label>
    <input />
  </div>

  <div class="field PaperApplication">
    <label>Paper Application</label>
    <input />
  </div>    
$(“.field.SocialSecurity input[type=radio]”)。打开(“更改”,函数(){
如果(
$(this.val()==
“作为美国公民、永久居民或临时工作居民,我有一个社会保险号码。”
) {
$(“.field.SSN”).show();
$(“.field.SSN输入”).focus();
$(“.field.PaperApplication”).hide();
}否则如果(
$(this.val()==
“由于我的国际学生身份、居留身份或特定签证类型,我没有社会保险号码。”
) {
$(“.field.PaperApplication”).show();
$(“.field.PaperApplication输入”).focus();
$(“field.SSN”).hide();
}否则{
$(“field.PaperApplication”).hide();
}
});
这是html的表单 美国公民国际学生其他

  <div class="field SSN">
    <label>SSN</label>
    <input />
  </div>

  <div class="field PaperApplication">
    <label>Paper Application</label>
    <input />
  </div>    

SSN
纸质申请

您可以使用HTML标记将它们设置为隐藏,以便在元素中添加样式属性
style=“display:none”
应该这样做

  <div class="field SSN">
    <label>SSN</label>
    <input />
  </div>

  <div class="field PaperApplication">
    <label>Paper Application</label>
    <input />
  </div>    

e、 g.
和另一个相同。

在调用脚本时隐藏它们,在触发更改事件时也隐藏在if语句之外。另外,将单选按钮的值设置为一个或两个单词,并加上camelCased。将描述按钮的字符串放在标签标记中:

  <div class="field SSN">
    <label>SSN</label>
    <input />
  </div>

  <div class="field PaperApplication">
    <label>Paper Application</label>
    <input />
  </div>    
$(“.SSN,.PaperApplication”).hide();
$(“.field.SocialSecurity input[type=radio]”)。打开(“更改”,函数(){
$(“.SSN,.PaperApplication”).hide();
if($(this.val()=“first”){
$(“.field.SSN”).show();
$(“.field.SSN输入”).focus();
}else if($(this.val()=“秒”){
$(“.field.PaperApplication”).show();
$(“.field.PaperApplication输入”).focus();
}
});

这里是广播一台

这里是第二台 SSN 纸质申请
加载时隐藏,然后单击“隐藏两者”并显示单击的内容。在代码段下面运行

  <div class="field SSN">
    <label>SSN</label>
    <input />
  </div>

  <div class="field PaperApplication">
    <label>Paper Application</label>
    <input />
  </div>    
$(“输入[name='socialsecurity'])。单击(()=>{
$('.field').hide();
$(`.${$(“输入[name='socialsecurity']:选中”).val()}`).show();
});

SSN
纸质申请表
SSN 纸质申请
我真的不会硬编码所有这些文本,例如,
作为美国公民、永久居民或临时工作居民,我有一个社会保险号码。
到JavaScript代码中。当然,在单选按钮旁边向用户显示该文本,但不要将其用作单选按钮的值。使用引用它的东西,例如数字ID、代码或其他东西。独一无二的、不变的东西。因为如果官方措辞在未来发生变化,你不想更新和重新测试你的代码,你只想能够更改页面中的一些文本,并对其进行处理,这样你就有了类似
的东西,真的不会硬编码所有文本,例如,作为美国公民、永久居民或临时工作居民,我有一个社会保险号码
然后在JS中只需编写
$(this).val()==1
——更简单、更可读、更易于维护。