在PHP中使用jquery addclass和removeclass

时间:2015-03-19 12:28:39

标签: javascript php jquery ajax

我正在处理PHP-Jquery-Ajax提交信息表单,我想使用addclass和removeclass jquery方法,但我不能让它按照我的意愿工作,所以我的问题是:我怎么做修复下面的代码,以便根据用户输入添加css?

addclass和removeclass在函数verificaForm中我验证输入字段,在这种情况下我只显示两个字段验证但还有更多...我也知道有一个库(validate.js)这有助于验证用户的输入,但在这种特定情况下,我必须要熟悉这段代码。

这是我的js代码并提前感谢:

$(document).ready(function () {

    $('#ID_formulario').on('submit', function (e) {

        e.preventDefault();

        var nombre = $('input#ID_nombre').val().trim();
        var email = $('input#ID_email').val().trim();

        if (validaForm(nombre, email)) {

            $('#result').html("<b>resolviendo peticion...</b>");

            var url = $(this).attr('action');
            var data = $(this).serializeArray();
            var type = $(this).attr('method');

            //...more code goes here ... it works fine ...
        }

    });
});

function validaForm(nombre, email) {

    if ((nombre == '') || nombre.replace(/s+/, '') == '') {
        alert("Favor especificar nombre");
        nombre.addClass('hightlight');
        return false;
    } else {
        else nombre.removeClass('hightlight');
    }

    if (nombre.length < 4) {
        alert('El valor del campo es muy corto');
        return false;
    }
    if ((email == '') || email.replace(/s+/, '') == '') {
        alert("Favor especificar correo");
        return false;
    }
    return true;
}

2 个答案:

答案 0 :(得分:1)

您应该将元素传递给函数,而不是值。然后您可以获取函数中的值。这样的事情:

 var nombre = $('input#ID_nombre');
 var email = $('input#ID_email');

    if(validaForm(nombre, email)) 

    ....


   function validaForm(nombre,email){

   var nombre_value = nombre.val().trim();
   var email_value = email.val().trim();
   .......

答案 1 :(得分:1)

因此,您可以将类添加到jQuery对象而不是值。如下所示改变一切。

替换

var nombre = $('input#ID_nombre').val().trim();
var email = $('input#ID_email').val().trim();

if (validaForm(nombre, email)) {

使用

if (validaForm($('input#ID_nombre'), $('input#ID_email'))) {

并修改您的功能如下。

function validaForm(nombre,email) {

    var nombreVal = $.trim(nombre.val());
    var emailVal = $.trim(email.val());

    if ((nombreVal == '') || nombreVal.replace(/s+/, '') == '') {
    ..........
    ..........
}

并在此处删除多余的其他内容:

} else {
    else nombre.removeClass('hightlight');
}

并将其更改为

} else {
    nombre.removeClass('hightlight');
}