Autor Zpráva
Monkeys
Profil *
Ako porovnavat kluce v objektoch ?


var message = {meno : "Zadajte prosím svoje meno", e_mail : "Zadajte prosím správny formát emailovej adresy", sprava : "Zadajte text správy"},
result = [];

$("form :input:not([type=hidden], [type=submit])").each(function(){
var name = $(this).attr("name").substr(input.indexOf("[")+1).replace(/\]/g,'');  // vrati meno, e_mail, sprava
var val = $(this).val();

if(val == ""){
    //tu potrebujem neakym sposobom porovnat kluce v objekte
        //napriklad takto
        result.push(message.name);  // ale tento sposob nefunguje
}
});

vdaka za odpoved

M.
Joker
Profil
Monkeys:
Nějak jsem nepochopil záměr, resp. co s čím se má porovnávat.
Metoda push nic neporovnává, jen vloží prvek do pole.
joe
Profil
result.push(message[name]);

Místo objektu s hodnotama zpráv (message) bych si tyto zprávy dal ke konkrétním inputům. Například
<input type="text" name="firstname" data-message="Zadajte prosím svoje meno">

Hlášku pak získáš v tom tvém foreach
var input = $(this),
message = input.data("message");

Možná ale taky hledáš atribut placeholder u inputu.
Monkeys
Profil *
joe:
result.push(message[name]);

Dakujem tento retazec funguje.
Nevedel som ze k objektom sa da pristupovat podobne ako k poliam.

Tvoje riesenie je tiez zaujimave vyskusam do buducnosti.

vdaka

M.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: