Как мы можем остановить кнопку отправки формы HTML, когда любое значение не будет точным - PullRequest
0 голосов
/ 22 октября 2011

Я хотел бы остановить функцию кнопки отправки, когда мы получили какую-либо ошибку в элементах формы HTML (например, капча).У нас есть несколько функций в нашем скрипте, позвольте мне объяснить подробнее.

  1. Проверять только код безопасности проверки данных, настроенный с помощью PHP (through - jquery-1.3.2.js && - validate.js)
  2. Отправка данных через вызов AJAX (через - ajaxSubmit.js)

Теперь я хотел бы остановить сценарий, когда любой пользователь заполнил неверное значение в тексте капчи.мы просто отключаем кнопку отправки и получаем сообщение («Форма не заполнена должным образом ...»)

ОБНОВЛЕННАЯ ВАЛИДАЦИЯ - проверяйте только с помощью кодов Captcha

 <script type="text/javascript">

$.validator.addMethod('myEqual', function (value, element) {
 if ($('#password-password').val() == $('#password-password-confirm').val()) {
      return true;
 }    else return false;
}, 'Your password does not match.');




  $(document).ready(function() {

 $('#password-clear').show();
$('#password-password').hide();

$('#password-clear').focus(function() {
    $('#password-clear').hide();
    $('#password-password').show();
    $('#password-password').focus();
});
$('#password-password').blur(function() {
    if($('#password-password').val() == '') {
        $('#password-clear').show();
        $('#password-password').hide();
    }
});

    $('#password-clear-confirm').show();
$('#password-password-confirm').hide();

$('#password-clear-confirm').focus(function() {
    $('#password-clear-confirm').hide();
    $('#password-password-confirm').show();
    $('#password-password-confirm').focus();
});
$('#password-password-confirm').blur(function() {
    if($('#password-password-confirm').val() == '') {
        $('#password-clear-confirm').show();
        $('#password-password-confirm').hide();
    }
});


var validator = $("#signupform").validate({

    //ignore: ".ignore",

    rules: {

        username: {
            required: true,
            minlength: 5
        },

        captcha: {
            required: true,
            remote: "includes/process.php"
        },

        password: {
            required: true,
            minlength: 5
        },
        passwordconfirm: {
            required: true,
            minlength: 5,
            myEqual: true
        },

        email: {
            required: true,
            email: true
        }
    },
    messages: {


        captcha: "Correct captcha is required. Click the captcha to generate a new one",
        username: {
            required: "Enter a username",
            minlength: jQuery.format("Enter at least {0} characters"),

        },
        password: {
            required: "Provide a password",
            rangelength: jQuery.format("Enter at least {0} characters")
        },
        passwordconfirm: {
            required: "Provide a password",
            rangelength: jQuery.format("Enter at least {0} characters")
        },
    email: {
            required: "Please enter a valid email address",
            minlength: "Please enter a valid email address"
        }


    },
    // the errorPlacement has to take the table layout into account
    errorPlacement: function(error, element) {
        if ( element.is(":radio") )
            error.appendTo( element.parent().next().next() );
        else if ( element.is(":checkbox") )
            error.appendTo ( element.next() );
        else

            error.appendTo( element.parent().next() );
    },

            submitHandler: function() {
        alert("submitted!");
    },

    // specifying a submitHandler prevents the default submit, good for the demo
    // set this class to error-labels to indicate valid fields
    success: function(label) {
        // set &nbsp; as text for IE
        label.html("").addClass("checked");
                      //  form.submit();
    }
});

 });

Пожалуйста, предложите мне правильный код для нашего требования.

Ответы [ 2 ]

1 голос
/ 22 октября 2011

С jQuery:

$("#formid").submit(function (){
  if(!your condition){
    return false;
  }
});
1 голос
/ 22 октября 2011

Используйте атрибут onSumbit для формы.Назначьте ему функцию, которую вы используете для проверки правильности заполнения формы.Если форма заполнена правильно, верните true;в противном случае верните false.False остановит отправку формы.Вы можете отобразить нужное сообщение непосредственно перед возвратом false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...