0

誰か助けてください。このフォームの検証はトリガーされません。それは本当にイライラします。私はJSではなくPHP開発者なので、明らかに非常に単純なものですが、これには少し苦労しています。チェックされている削除ボックスに基づいてフォームを検証しようとしています。

[送信]をクリックしても何も表示されません。フォームを送信するだけなので、trueを返す必要があります。

function deleteVal(chk) {

    var chk;

    // If the checkbox has been set to delete
    if (chk.checked == "delete") {

        var ok=confirm("You are about to delete the selected images below.\nAre you sure you want to do this?");

        if (ok) {

            // Submit
            return true;

        } else {

            // Don't submit
            return false;

        }

    }

    // Delete box was not ticked so return true and submit form
    return true;

}

</script>

<form action="" method="POST" onSubmit="return deleteVal(delete)">
  <label>Delete images?</label><input type="checkbox" name="delete" value="delete" />
  <input type="submit" name="submit" value="Submit" />
</form>
4

1 に答える 1

2

このcheckedように値を適切に取得し、それが true か false かを確認する必要があります。

var chk = document.getElementById('delete');

// If the checkbox is checked
if (chk.checked == true) {

その後、関数に変数を渡す必要はありませんが、チェックボックスに ID を与える必要があります。

<form action="" method="POST" onSubmit="return deleteVal();">
  <input type="checkbox" name="delete" id="delete"/>
  <input type="submit" name="submit" value="Submit" />
</form>

テスト済みコード - http://pastebin.com/FdWdeSCN

于 2012-10-18T09:41:49.217 に答える