AJAX a Youtube – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

AJAX a Youtube – JavaScript, AJAX, jQuery – Fórum – Programujte.comAJAX a Youtube – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

d.mostek0
Návštěvník
25. 10. 2009   #1
-
0
-

Zdravím.
Mám na stránkách výpis článků a pod článkem možnost zanechání komentáře. Vložení komentáře je realizováno AJAXem. Ale pokud mám v článku vložené video z youtube, tak při přidání komentáře se video reloadne. Komentáře se normálně přidá, zobrazí, ale video se reloadne. Zkusil jsem přejmenovat funkce, jestli náhodu nepoužívám nějaké jako youtube a pořád stejné. Do chybové konzoli se nic nevypíše. Nesetkali jste se někdo s něčím podobným?

function processRequesturq(autor, koment)

{
if (httpRequest.readyState == 4)
{
if(httpRequest.status == 200)
{

var text =httpRequest.responseText;

var mistoZobrazeni = document.getElementById("dole-jsou-komenty-"+token);

if(text == "1"){

var str= mistoZobrazeni.innerHTML;
str = str.replace('</tbody>','<tr><td></td><td></td><td class="comment" valign="top"><span class="autor">['+autor+']$</span> '+ koment +'</td></tr>');
mistoZobrazeni.innerHTML = str;


}else if(text == "3"){
window.alert('Váš komentář nebyl přidán, protože máte omezený přístup.');
}else{
window.alert('Váš komentář se nezdařilo vloži. Opakujte prosím akci později!');

}
}
else
{
window.alert('Váš komentář se nezdařilo vloži. Opakujte prosím akci později.');
}
}
}

function komenty(token)

var autor = document.getElementById("nick-"+ token).value;
var koment = document.getElementById("koment-"+token).value;

if (autor != 0 | koment != 0)
{

if (window.ActiveXObject)
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}

httpRequest.open("POST", "pridej_koment.php", true);
httpRequest.onreadystatechange= function () {processRequesturq(autor, koment, token); } ;
httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpRequest.send("autor=" + encodeURIComponent(autor) + "&text=" + encodeURIComponent(koment));
httpRequest.send(null);

}
else
{

window.alert('Některý z údajů nebyl zadán, nebo nebyl zadán správně!');

}
}

Upozorňuji, že jsem v JS naprostý amatér, tenhle kód mi pomohl sestrojit google ;-)
Děkuji za každou pomoc.

Nahlásit jako SPAM
IP: 88.146.211.–
www.dominik-mostek.cz
Lordest0
Super člen
25. 10. 2009   #2
-
0
-

kod som si nepozeral (cize sry ak trepnem) ale:

ked pridas komentar cez ten tvoj system, typujem ze aj "refreshujes cez ajax" aby sa koment aj dynamicky(bez nacitania) po pridani zobrazil.
ak ano, tak je zrejme chyba v tom, ze "nerefreshujes" iba dane komentare, ale aj dany clanok. Tym sa refreshne samozrejme aj to video.
musis refreshnut iba to kde su komentare..
nevidim kde inde by mohla byt chyba..

na clanku to nepoznas (ak tam nieje youtube), pretoze sa "refreshne" ten text ktory tam bol, ale pri tomto to proste spoznas, pretoze video sa da na zaciatok ako pri normalnom naciatni stranky..

Nahlásit jako SPAM
IP: 78.98.86.–
d.mostek0
Návštěvník
25. 10. 2009   #3
-
0
-

To Lordest : JJ po tvé reakci jsem si uvědomil, že sice přidávam komentáře na konec, ale manipuluju při tom i s obsahem článku. Díky moc za radu.

Nahlásit jako SPAM
IP: 88.146.211.–
www.dominik-mostek.cz
d.mostek0
Návštěvník
25. 10. 2009   #4
-
0
-

Už mi to funguje ok. Ale ještě jedna otázečka. Výše uvedený skript v Opeře funguje, až na to, že se komentář nevloží za článek (do DB ano). Ani v chybové konzoli nic neni a když jsem zkoušel jednotlivé příkazy které používám ve skriptu zadávat do adresního řádku, tak vš taky proběhlo, ale když to jede přes tu funkci tak se to neprovede. V FF funguje vše očekávaně. Díky za daší rady ;-)

Nahlásit jako SPAM
IP: 88.146.211.–
www.dominik-mostek.cz
d.mostek0
Návštěvník
26. 10. 2009   #5
-
0
-

Tak vyřešeno
Opera totiž tagy převedla na velká písmena oproti FF
tak jsem přidal jeden řádek pro velká písmena. Četl jsem i něco zápisu /str/i , ale ten mi nefungoval.

str = str.replace('</tbody>','<tr><td></td><td></td><td class="comment" valign="top"><span class="autor">['+autor+']$</span> '+ koment +'</td></tr>');

str = str.replace('</TBODY>','<tr><td></td><td></td><td class="comment" valign="top"><span class="autor">['+autor+']$</span> '+ koment +'</td></tr>');

Nahlásit jako SPAM
IP: 88.146.211.–
www.dominik-mostek.cz
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý