Autor Zpráva
Monkeys
Profil *
Zdravim

vytvoril som si kod pre pridavanie viac obrazkov v pripade potreby:
Asi takto:

$(function(){
var count = 0;
$('.pridajObrazok a').click(function(){
count++;
if(count <= 3){
$('.loader').append('<div class="prilozenyObrazok"><h6>Vyberte ďalší obrázok</h6><label><input name="hlavny obrazok2" type="file" size="30" /></label></div>').hide().fadeIn('slow');
}else{
$('.pridajObrazok').hide();
}
});
});

potreboval by som poradit 2 veci:

1) Aby po kliknuti neblikli vsetky uz vytvorene inputy pre vkladanie obrazkov - teda aby vzdy bliklo len nove input tlacitko cez fdeIn
2) Po tretom vypisani inputu aby sa skovalo tlacitko pridaj dalsi obrazok. Pretoze takto sa sice skova ale az po stvrtom kliknuti .

A este mam otazku tykajucu sa kodu:
Ak vytvaram takto dynamicke prvky a pozrem sa do zdrojoveho kodu stranky tak tam prislusny kod pridanych inputov nenajdem chcem sa preto opytat ako to potom pouzit v PHP pri ukladani do DB.

vdaka
M.
panther
Profil
Monkeys:
a pozrem sa do zdrojoveho kodu stranky
... tak vidíš původní zdrojový kód stránky, ne ten přidaný a vytvořený JavaSciptem.

ako to potom pouzit v PHP pri ukladani do DB.
mohl jsi zkuit odeslat formulář. Viděl bys, že tam dynamicky přidaná políčka nechybí a normálně se na server odesílají.
Monkeys
Profil *
Vyriesene:

$(function(){
var count =0;
$('.pridajObrazok a').click(function() {
count++;
var obrazok = $('<div class="prilozenyObrazok"><h6>Vyberte ďalší obrázok</h6><label><input name="obrazok2" type="file" size="30" /></label></div>').hide().fadeIn('slow');
if(count <= 3){
$('.loader').append(obrazok);
}
if(count==3){
$('.pridajObrazok').hide();
}
});
});
Monkeys
Profil *
Este poprosim o jednu radu:

upravil som si este kod pre rozne stavy ale nastal mi jeden problem:

Kod:
$(function(){
var count = 0;
var pocet = 3;
$('.pridajObrazok a').click(function(){
count++;
var obrazok = $('<div class="prilozenyObrazokDalsi"><h6>Vyberte ďalší obrázok</h6><label><input name="obrazok'+ count +'" type="file" size="30" /> </label><span class="obrazokRemoveIcon remove" id="'+ count +'">&nbsp;</span></div>').hide().fadeIn('slow');
if(count <= pocet){
$('.loader').append(obrazok);
}
if(count == pocet){
$('.pridajObrazok').hide();
}
return false;
});

$('.remove').live('click', function(){
count--;
$(this).parent().remove();
if(count != pocet){
$('.pridajObrazok').show();
}
return false;
});
});

Konkretne problem mam s premennou count asi takto:
ked klikam na pridat novy obrazok tak sa pripocitava +1 a pri odstraneni sa odpocitava -1 ale ako nahle odstranim prvy prvok tak logicky 3-1 = 2 a nasledne ked pridam novy prvok tak 2+1 =3 teda vysledny pocet obrazkov bude 2, 3, 3 co nieje spravne a preto sa chcem opytat ako to riesit?

vdaka
M.
Monkeys
Profil *
Napadla ma taka vec ze aj ked kliknem na prvy element vzdy s odstrani ten posledny.

skusal som napr. taketo nieco ale neako to nemozem rozbehat tieto riadky su vo funkcii live
$(this).parent().remove().end();
alebo
var hodnota = $('.pridajObrazok').length;
$(this).parent().remove().eq(hodnota-1);

M.
Monkeys
Profil *
Cely problem bol ze som zbytocne stravil cas nad rozmyslanim ako menit indexy po odstraneni, stacilo ukladanie do pola ...
V PHP si uz potom lahko zistim kolko je aktivnych policok.

var obrazok = $('<div class="prilozenyObrazokDalsi"><h6>Vyberte ďalší obrázok</h6><label><input name="obrazok[]" type="file" size="30" /> </label><span class="obrazokRemoveIcon remove">&nbsp;</span></div>').hide().fadeIn('slow');

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:

0