javascript jquery preveri polje pred serialize()
 
mprose7 12. sep 2012 12:56:54 Pridružen od:
18. mar 2008
911 objav
293 39 6
#1

ve kdo napako v naslednji kodi


    $('form').find('input').each(function (elem) {
if ($(elem).val().length == 0) {
alert('Polje ni izpoljneno!\n');
$(elem).focus();
return false;
}
});

hvala


všeč(0) ni všeč(0) spam(0)
Oprema stanovanj in izris 3d objektov na: Notranja oprema
Trgovina z lesnim hobi programom: Razrez iverala
 
carli 12. sep 2012 13:38:32 Pridružen od:
5. avg 2008
1258 objav
583 54 17
#2

$('form').each(function() {

if ($(this).val().length == 0) {

alert('Polje '+$(this).attr('name')+' ni izpoljneno!\n');

$(this).focus();

return false;

}

});


všeč(1) ni všeč(0) spam(0)
 
mprose7 12. sep 2012 13:53:23 Pridružen od:
18. mar 2008
911 objav
293 39 6
#3

gre za formo z 20 inputi...


všeč(0) ni všeč(0) spam(0)
Oprema stanovanj in izris 3d objektov na: Notranja oprema
Trgovina z lesnim hobi programom: Razrez iverala
 
SlimDeluxe 12. sep 2012 14:15:51 Pridružen od:
29. apr 2010
1223 objav
1022 144 9
#4

.each() funkcija mora dobiti callback s paramerti: idx, element

torej:


$('form').find('input').each(function (idx, elem) {
if ($(elem).val().length == 0) {
alert('Polje ni izpoljneno!\n');
$(elem).focus();
return false;
}
});

Ali pa:


$('form').find('input').each(function () {
if ($(this).val().length == 0) {
alert('Polje ni izpoljneno!\n');
$(this).focus();
return false;
}
});
všeč(1) ni všeč(0) spam(0)
Freelance Web Developer
 
carli 12. sep 2012 20:14:01 Pridružen od:
5. avg 2008
1258 objav
583 54 17
#5

In kje je problem, če je 20 polj?


všeč(0) ni všeč(0) spam(0)
 
SlimDeluxe 12. sep 2012 20:45:48 Pridružen od:
29. apr 2010
1223 objav
1022 144 9
#6

Ti si samo izbrisal .find('input') (to bi se sprehodilo po 'form'-ih in this bi referenciral na sam 'form') in parameter od callbacka... Torej k večjemu bi moral napisati $('form input')


všeč(1) ni všeč(0) spam(0)
Freelance Web Developer
 
mprose7 13. sep 2012 05:50:58 Pridružen od:
18. mar 2008
911 objav
293 39 6
#7

se vedno pa tole namesto da bi opozorilo v formo vpise 20x tudi prazne vrednosti...



$("input:radio").attr("checked", false);

$('form').submit(function (event) {

event.preventDefault();

$('form').find('input').each(function (idx, elem) {

if ($(elem).val().length == 0) {

alert('Polje ni izpoljneno!\n');

$(elem).focus();

return false;

}

});

$('<img src="ajax-loader.gif" class="ajaxLoader"/>').insertAfter("form");

var str = $('form').serializeArray();

$.ajax({

type: "POST",

url: "/insert.php",

data: str,

success: function () {

window.location.reload();

}

});


všeč(0) ni všeč(0) spam(0)
Oprema stanovanj in izris 3d objektov na: Notranja oprema
Trgovina z lesnim hobi programom: Razrez iverala
 
carli 13. sep 2012 06:13:34 Pridružen od:
5. avg 2008
1258 objav
583 54 17
#8

SlimDeluxe:

Ti si samo izbrisal .find('input') (to bi se sprehodilo po 'form'-ih in this bi referenciral na sam 'form') in parameter od callbacka... Torej k večjemu bi moral napisati $('form input')




@SlimDeluxe: Sorry res je, površno spisal :D



@mpose7: Tebi pošlje v vsakem primeru, namesto alert nastavi spremenljivko ki jo kasneje preverjaš, če je nastavljena ne izvedeš AJAX klica.


všeč(0) ni všeč(0) spam(0)
 
mprose7 13. sep 2012 06:45:42 Pridružen od:
18. mar 2008
911 objav
293 39 6
#9

zakaj pa mi ne ustavi z opozorilom?


všeč(0) ni všeč(0) spam(0)
Oprema stanovanj in izris 3d objektov na: Notranja oprema
Trgovina z lesnim hobi programom: Razrez iverala
 
carli 13. sep 2012 06:58:31 Pridružen od:
5. avg 2008
1258 objav
583 54 17
#10

@mpose7: JS pač tako dela, ne zaključi izvajanja pri alertu.



http://jsfiddle.net/MXM4Z/


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se