dongtang1918 2016-05-12 13:56
浏览 20
已采纳

根据页面加载时的单选按钮选择显示某些字段

I am dragging data from a database and want to display different disabled form fields dependant on the selected radio button.

I have tried using onload="javascript:...." but it's not working.

HTML:

 <fieldset>
      <legend>Employment/Education Details</legend>
      <div class="input-wrapper">
         <label>Are you?<br>
         <input type="radio" onload="javascript:employmentCheck();" name="employment_status" value="employed" id="employed" <?php if 
($employment_status=="employed") echo "checked"; ?> disabled><label for="employed">Employed</label>
         <input type="radio" onload="javascript:employmentCheck();" name="employment_status" value="self_employed" id="self_employed"  <?php if 
($employment_status=="self_employed") echo "checked"; ?> disabled><label for="self_employed">Self Employed</label>
         <input type="radio" onload="javascript:employmentCheck();" name="employment_status" value="student" id="student" <?php if 
($employment_status=="student") echo "checked"; ?> disabled><label for="student">Student</label>
         <input type="radio" onload="javascript:employmentCheck();" name="employment_status" value="other" id="other" <?php if 
($employment_status=="other") echo "checked"; ?> disabled><label for="other">Other</label>
         </label>
      </div>
      <div id="college_nus" style="display:none">
         <div class="row">
            <div class="large-6 columns">
               <div class="input-wrapper">
                  <label>College or NUS Number
                  <input type="text" name="college_nus"  value="<?php echo $college_nus; ?>" disabled>
                  </label>
               </div>
            </div>
         </div>
      </div>
      <div id="employment_details" style="display:none">
    <div class="row">
            <div class="large-6 columns">
               <div class="input-wrapper">
                  <label>Employer Name
                  <input type="text" name="employment_company" value="<?php echo $employment_company; ?>" disabld>
                  </label>
               </div>
            </div>
            <div class="large-6 columns">
               <div class="input-wrapper">
                  <label>Job Title
                  <input type="text" name="employment_title" value="<?php echo $employment_title; ?>" disabled>
                  </label>
               </div>
            </div>
         </div>
         <div class="row">
            <div class="large-6 columns">
               <div class="input-wrapper">
                  <label>Employment Address
                  <textarea name="employment_address" rows="4" value="<?php echo $employment_address; ?>" disabled></textarea>
                  </label>
               </div>
            </div>
            <div class="large-6 columns">
               <div class="input-wrapper">
                  <label>
                     Occupation
                  <input type="text"  value="<?php echo $occupation; ?>" disabled>
                  </label>
               </div>
            </div>
         </div>
         <div class="row">
            <div class="large-6 columns">
               <div class="input-wrapper">
                  <label>Employment Email
                  <input type="text" name="employment_email"  value="<?php echo $employment_email; ?>" disabled>
                  </label>
               </div>
            </div>
            <div class="large-6 columns">
               <div class="input-wrapper">
                  <label>Employment Phone
                  <input type="text" name="employment_phone"  value="<?php echo $employment_phone; ?>" disabled>
                  </label>
               </div>
            </div>
         </div>
      </div>
   </fieldset>

Javascript:

function employmentCheck() {
    if (document.getElementById('student').checked) {
        document.getElementById('college_nus').style.display = 'block';
    }
    else document.getElementById('college_nus').style.display = 'none';

    if (document.getElementById('employed').checked || document.getElementById('self_employed').checked) {
        document.getElementById('employment_details').style.display = 'block';
    }
    else document.getElementById('employment_details').style.display = 'none';

}

Can anyone help please?

  • 写回答

1条回答 默认 最新

  • duanlei5339 2016-05-12 14:32
    关注

    I changed the function to window.onload and it worked fine. Here is a plunker.

    https://plnkr.co/edit/Pz2rKRg9geglgKhdJM4H?p=preview

    Here is the function

    window.onload = function(){
        if (document.getElementById('student').checked) {
            console.log("student");
            document.getElementById('college_nus').style.display = 'block';
        }
        else {
            document.getElementById('college_nus').style.display = 'none';
        }
    
        if (document.getElementById('employed').checked ||  document.getElementById('self_employed').checked) {
            console.log("employed");
            document.getElementById('employment_details').style.display = 'block';
        }
        else {
            document.getElementById('employment_details').style.display = 'none';
        }
    }
    

    I don't think there is an event of onload defined on the radio button object.

    Thanks

    Paras

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)