【问题标题】:not hiding the textarea when uncheck the checkbox取消选中复选框时不隐藏文本区域
【发布时间】:2013-09-24 18:11:03
【问题描述】:

我有下面给出的代码: 当我点击被拒绝的复选框时它工作正常,它显示文本区域但当我取消选中被拒绝的复选框时它没有隐藏它。

请帮忙....

<script type="text/javascript">
function checkValue() {
    var rejected=document.forms["frmcnt"]["ar"].checked

    if (rejected = 'Rejected') {
        document.getElementById('xtraInfo').style.display='';
    } else {
        document.getElementById('xtraInfo').style.display='none';
    }   
}   
</script>

Accepted: <input type='checkbox' name='ar' value='Accepted' />
Rejected: <input type='checkbox' name='ar' value='Rejected' onClick="return checkValue(this)" />

  <div id="xtraInfo" style="text-align:center; display:none; font-weight:bold;">
    <center>Rejection Detail:</center><br>
    <textarea width="900" style="width: 910px; resize:vertical;" name="rejectdt"><?php if( $_SERVER['REQUEST_METHOD'] === 'POST' ) { print_r($_POST['rejectdt']); } ?></textarea>
  </div>

【问题讨论】:

  • 你这里没有使用 jQuery,什么?

标签: javascript checkbox


【解决方案1】:

HTML:

 Rejected: <input type='checkbox' name='reject' id='reject' value='Rejected' onClick="checkValue()" />

功能:

function checkValue() 
{

if(document.getElementById("reject").checked == true)
 {
   document.getElementById('xtraInfo').style.display='block';
 }
else
 {
   document.getElementById('xtraInfo').style.display='none';
 }
}

【讨论】:

    【解决方案2】:

    document.forms["frmcnt"]["ar"].checked返回truefalse,改为:

    if (rejected) {
        document.getElementById('xtraInfo').style.display='block';
    } else {
        document.getElementById('xtraInfo').style.display='none';
    }   
    

    更新:: 既然你在做onClick="return checkValue(this)",那就做吧

    function checkValue(obj) {
        var rejected=obj.checked;
    
        if (rejected) {
           document.getElementById('xtraInfo').style.display='block';
        } else {
           document.getElementById('xtraInfo').style.display='none';
        }  
    } 
    

    演示:: jsFiddle

    【讨论】:

      【解决方案3】:

      等于条件语句需要有另一个等号。此外,您在定义被拒绝变量的行中留下了一个分号

      function checkValue() {
          var rejected = document.forms["frmcnt"]["ar"].checked;
      
          if(rejected == 'true') {
              document.getElementById('xtraInfo').style.display='';
          } else {
              document.getElementById('xtraInfo').style.display='none';
          }   
      }   
      

      【讨论】:

        【解决方案4】:

        您的代码可能存在其他问题,但我确实注意到您正在这样做

        if (rejected = 'Rejected') {
        

        而不是

        if (rejected == 'Rejected') {
        

        (需要两个等号来检查一个值)

        【讨论】:

          【解决方案5】:
              <script type="text/javascript">
              function checkValue() {
                  var rejected=document.forms["frmcnt"]["ar"].checked
          
                  if (rejected = 'Rejected') {
                      document.getElementById('xtraInfo').style.display='';
                  } 
          else if(rejected==false)
          {
          document.getElementById('TextContent').style.display='none';
          }
          else {
                      document.getElementById('xtraInfo').style.display='none';
                  }   
              }   
              </script>
          
              <textarea width="900" style="width: 910px; id="TextContent" resize:vertical;" name="rejectdt">
          

          【讨论】:

            猜你喜欢
            • 2011-03-19
            • 2023-03-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-18
            • 1970-01-01
            相关资源
            最近更新 更多