都道府県穴埋めゲーム

分岐?javasprictでチェックボックスが有無の場合に処理するコードを書いてますが
上手くいきません。
添削・解説などお願いします><;


//「ファイル削除」チェック値に変換
//チェックボックス有無確認
var chkFDel;
if(document.getElementById("chkFDel")){
chkFDel = document.getElementById("chkFDel").checked;
if(chkFDel){
document.getElementById("chkFDel").value = "1"; //チェック有セット
}else{
document.getElementById("chkFDel").value = "0"; //チェック無セット
}
}else{
document.getElementById("chkFDel").value = "2"; //Ctrl無(FileUpLoadになっている)セット
}

document.getElementById("fo").submit();

質問者からの補足コメント

  • どう思う?

    すいません以下のコードが抜けていました。。。
    if(trim($m_filePath)==""){
    print("<INPUT type=\"file\" id=\"filePath\" name=\"filePath\" value=\"$m_filePath\">");
    }else{
    print("<INPUT READONLY type=\"text\" id=\"fileDel\" name=\"fileDel\" value=\"$m_filePath\">");
    print("<INPUT type=\"checkbox\" id=\"chkFDel\" name=\"chkFDel\" >削除");
    }
    >編集ページ内でDBにあるデータを読み込んだ際に、
    *参照ボタンの表示
    *読み込みデータの表示と削除チェックボックス
    上のどちらかを表示する判定があります。

      補足日時:2016/07/27 14:22
  • どう思う?

    回答ありがとうございます。
    初心者なのでうまく伝えることが難しいのですが、
    チェックボックスが表示された場合の処理と表示されていない場合の処理について知りたいです。

    if(document.getElementById("chkFDel")){
    //チェックボックスがあるよ
    }else{
    //チェックボックスがないよ
    }
    上のif文で[chkFDel]が存在しない場合の処理ができるのでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/07/27 14:32

A 回答 (3件)

切り分けだけならこんな感じ


(ないばあいは適当にidを変更して確認してみてください)

<script>
function check()
{
if(!document.getElementById("chkFDel")){
alert("チェックボックスがないよ");
}else if(document.getElementById("chkFDel").checked){
alert("チェックボックスあってチェックされているよ");
}else{
alert("チェックボックスあるけどチェックされてないよ");
}
}
</script>
<form>
<input type="checkbox" id="chkFDel">
<input type="button" value="check" onclick="check()">
</form>
    • good
    • 0

こんにちは



そもそも論になってしまいますが・・・

HTMLが不明ですが、最後にformをサブミットしているように感じられます。
サブミットで送信すると、スクリプトで特に何もしなくてもチェックボックスの内容は送信されますので、ご提示の処理自体に意味があるのか疑問です。

論理的におかしいのは、要素が存在しないときに、その要素に値をセットしようとしている。
(存在しない要素に値をセットしようとしてもエラーになるだけです)


・・・ということで、
>上手くいきません。
何をなさりたくて、どう上手くいかないのでしょうか?
    • good
    • 0

チェックボックスがあるかどうかが知りたいのでしょうか?


それともチェックボックスがチェックされているかどうかがしりたいのでしょうか?
checkFDelがチェックボックスかどうかチェックする必要はないのでしょうか?

ちなみにcheckFDelがチェックされていないばあいvalueを0にしていますが
チェックされていなチェックボックスはサーバーに値がおくられないので無駄です

またdocument.getElementById("chkFDel")の存在確認をして「ない」とわかっているのに
document.getElementById("chkFDel").valueに2を代入するのはおかしくないですか?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報