| Autor | Zpráva | ||
|---|---|---|---|
| kujeba Profil |
#1 · Zasláno: 15. 4. 2010, 10:34:51 · Upravil/a: kujeba
Mám javascript, ktery mi překresluje checkboxy a selectboxy (kvuli jednotné grafice ve všech prohlížečích).
Pro multiupload obrázků používám upravený swfupload, který mi uloží obrázek na server, pomocí ajaxu ho zpracuje (vytvoří náhledy apod...) a následně přidá do html kódu blok s náhledem uploadnutého obrázku a s formulářovými prvky (checkboxy a selectboxy). Bohužel, na takto přidaný kód už není aplikován javascript, který překresluje checkboxy a selectboxy. Můžete mi, prosím, poradit jak tento problém vyřešit? funkce, ktera vykreslí blok s náhledem a formulářovými prvky: hodnota "filename" je název uploadnutého obrázku function addFileToList(filename){
var dotPosition = parseInt(filename.indexOf('.'), 10)+parseInt("1", 10);
var suffix = filename.substr(dotPosition);
var name = $('.FileToList:last').attr('id');
var description;
var supps;
var c = 0;
var i;
if(name){
c = name.substring(3);
i = parseInt(c,10)+parseInt("1",10);
}
if(i){
name = 'filename['+i+']';
description = 'description['+i+']';
}else{
i = '0';
name = 'filename[0]';
description = 'description[0]';
}
switch(suffix){
case 'jpg':
case 'png':
case 'gif':
var d;
var text1 = $('#text1').val();
var text2 = $('#text2').val();
var subtext;
var id_position;
var show_description_text = $('#show_description_text').val();
var count_position = $('#count_position').val();
supps = '<div class="supps">\
<p>'+text1+'</p>';
for(d = 1; d <= count_position; d++){
subtext = $('#name_position'+d).val();
id_position = $('#id_position'+d).val();
supps = supps +
'<div class="checkbox-wrap">\
<input type="radio" id="supp'+i+d+'" name="id_position['+i+']" value="'+id_position+'" />\
</div>\
<label for="supp'+i+d+'">'+subtext+'</label>\
';
}
supps = supps +
'</div>';
supps = supps +
'<div class="supps">\
<p>'+text2+'</p>\
<div class="checkbox-wrap">\
<input type="checkbox" id="supp'+d+'" name="show_description" />\
</div>\
<label for="supp'+d+'">'+show_description_text+'</label>\
</div>';
break;
default:
break;
}
var data = '<div class="FileToList" id="ftl'+i+'">\
<div>\
<img src="/photo/small/'+filename+'" alt="" />\
<textarea name="'+description+'" class="mceSimple" />\
<span class="FileOutList" id="fol'+i+'"><img src="/aktualizace/img/cancelbutton.gif" alt="Delete"/></span>\
</div>\
'+supps+'\
<div class="clear"></div>\
</div>';
var hiddenData = '<input id="fhl'+i+'" type="hidden" name="'+name+'" value="'+filename+'" />';
$('#filelist').append(data);
$('#hiddenInput').append(hiddenData);
} |
||
| Keeehi Profil |
#2 · Zasláno: 15. 4. 2010, 22:33:14
kujeba:
no nejspíš to bude proto, že ten script po překreslení formulářových prvků už proběhl a tyto byly vytvořeny až potom -> znovu spustit script na překreslení těch prvků |
||
| kujeba Profil |
#3 · Zasláno: 16. 4. 2010, 08:21:57
Keeehi:
Nojo, jenže v tom je problém. Tohle já neumím a ani pomocí googlu jsem nenašel způsob, jak znovu spustit patričný script. Poradí někdo? |
||
| František Profil * |
#4 · Zasláno: 16. 4. 2010, 11:41:13
Mám podobný problém. Nahraju ajaxem stránku a v té stránce mám dalši ajax (vč. js skriptu) a nefunguje to. Když dám "skript" na původní stránku, tak ten vložený ajax v ajaxu funguje... Což ale není možné, protože původní stránka se nijak nedoví, jaký ajax by měla načíst...
|
||
|
Časová prodleva: 16 let
|
|||
0