Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   проверка полей формы на jquery (https://javascript.ru/forum/jquery/17273-proverka-polejj-formy-na-jquery.html)

TRich 12.05.2011 19:11

проверка полей формы на jquery
 
Всем доброго дня! Братцы помогите пожалуйста разобраться:
нужно отфильтровать незаполненные поля формы и прервать передачу. Сделал так:

$(document).ready(function(){
$("form").submit(function() {

var fileds = $(".longFiled").val("")

for (var i = 0; i < fileds.length; i++){

alert(fileds.length) //проверка сколько в массиве
if($("input").val() == "")
{

$("input:empty").css("border", "1px solid red")
alert("заполните поля")

return false
}

else

return true
}

});
});

Но выяснилось что такая конструкция $(".longFiled").val("") возвращает все элементы с классом .longFiled .

Более того "input:empty" возвращает так же submit с прописанным value.

Так же выяснилось что проверяется только первое поле.

Вот такая конструкция тоже не работает почему то

$(document).ready(function(){
//$("input:empty").css("border", "1px solid red")
$("form").submit(function() {

for (var i = 0; i < $(":text").length; i++)

//alert($(":text").length )

{
if ($(":text").val() == ""){
alert ("заполните поля")
$(":text").css("border", "1px solid red")

return false
}

else {
alert ("сообщение отправлено")


return true


}


}

});



});





Подскажите в чем ошибаюсь пожалуйста.

TRich 13.05.2011 01:10

Пока решил вот так:

$(document).ready(function(){
$("form").submit(function() {
alert($("input:text[value='']").length)
for(var i = 0; i < $("input:text[value='']").length; i++)
{
$("input:text[value='']").css("border","1px solid red")

return false

}
return true

})
})

теперь буду навешивать функцию проверки на email и телефон.

novator 27.05.2013 11:36

Нужна профессиональная помощь. Осваиваю JQuery. Удалось сделать форму в модальном окне. Но не могу понять, почему она не хочет проверяться. Помогите разобраться, пожалуйста!!!

Kод следующий:

$(document).ready(function(){

function validateEmail(email) {
var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return reg.test(email);
}



$("#contact").submit(function() { return false; });

$("#send").on("click", function(){
var emailval = $("#email").val();
var msgval = $("#msg").val();
var msglen = msgval.length;
var mailvalid = validateEmail(emailval);

if(mailvalid == false) {
$("#email").addClass("error");
}
else if(mailvalid == true){
$("#email").removeClass("error");
}

if(msglen < 4) {
$("#msg").addClass("error");
}
else if(msglen >= 4){
$("#msg").removeClass("error");
}
});

});

P.S. Что говорит фраза "Клик по кнопке означает еще и клик по самому модальному окну!" Может это как-то связано с моей формой?


Часовой пояс GMT +3, время: 15:35.