Проверьте, проверено ли текстовое поле перед отправкой

0

Я хочу отправить форму тогда и только тогда, когда текстовое поле проверено... если нет, я хочу остановить форму и дать предупреждение

Сейчас я получаю предупреждение, если оно не проверено, но оно отправляет форму в любом виде

$(function() {
        $("#button").click(function(){
        if ($("#uploadTOS").is(":checked")) {
        return true;
        } else {
        alert("Please agree to the TOS");
        return false;
        }
        })
        })

<form enctype="multipart/form-data" action="urlupload.php?do=verify" id="form" method="post" onsubmit="a=document.getElementById('form').style;a.display='none';b=document.getElementById('part2').style;b.display='inline';" style="display: inline;">
<div id="uploadform">
<input type="text" name="uploadfile" size="30" /><p>
<input type="submit" id="button" class="button" value="Upload" />
</div>
        <div id="TOSDiv" style="display:none; z-index:60;">
            <input id="uploadTOS" type="checkbox" name="tos" value="1" />
            <span id="uploadTOSText">
                I Agree to the <a href="tos.php" target="_blank">Terms of Service</a>
            </span>     
        </div>
</form>
  • 0
    выглядит хорошо jsfiddle.net/arunpjohny/SFsKL/1
  • 0
    по какой-то причине моя форма все еще отправляется
Показать ещё 1 комментарий
Теги:
forms

3 ответа

1
Лучший ответ

Используйте onclick javascript с этим:

function toscheck() {

        if ($("#uploadTOS").is(":checked")) {
        return true;
        } else {
        alert("Please agree to the TOS");
        return false;
        }
}
1

Изменить javascript на:

function submitcheck() {

        if ($("#uploadTOS").is(":checked")) {
        return true;
        } else {
        alert("Please agree to the TOS");
        return false;
        }
}

А затем добавьте onclick в кнопку отправки

<input type="submit" id="button" class="button" value="Upload" onclick="return submitcheck();" />
0

Я считаю, что возвращаемые значения устарели для более новых версий jQuery. Попробуйте event.preventDefault вместо return false.

Обратите внимание, что переменная event будет просто первым аргументом вашего .click(function(event) {...}) jQuery .click(function(event) {...}).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню