0

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

请帮忙....

<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>
4

5 回答 5

3

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';
 }
}
于 2013-09-24T10:05:00.930 回答
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

于 2013-09-24T10:00:06.397 回答
0
    <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">
于 2013-09-24T10:06:50.000 回答
0

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

function checkValue() {
    var rejected = document.forms["frmcnt"]["ar"].checked;

    if(rejected == 'true') {
        document.getElementById('xtraInfo').style.display='';
    } else {
        document.getElementById('xtraInfo').style.display='none';
    }   
}   
于 2013-09-24T10:02:59.300 回答
0

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

if (rejected = 'Rejected') {

代替

if (rejected == 'Rejected') {

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

于 2013-09-24T10:03:07.970 回答