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"].checkedtrueまたはを返しますfalse。次のように変更します。

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

equal to 条件ステートメントには、別の等号が必要です。また、拒否された変数を定義した行にセミコロンを残しました

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') {

(値を照合するには 2 つの等号が必要です)

于 2013-09-24T10:03:07.970 に答える