Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Tak to nahraď testem s hvězdičkou, ne? Jak přesně používáš ten Ajax?
Wikan 24.07.2019 23:33
Wikan
Jenže ta hvězdička je v spanu, který má ještě třídu. Ideální by bylo to nahradit celé vyjma poslední…
MichalDM 24.07.2019 23:40
MichalDM
To jsi nebyl moc konkrétní.
Wikan 25.07.2019 09:02
Wikan
Takhle vypadá label - obrázek1. Když použiji kód $(".wpforms-field-label:eq(0)").html("Name and Sur…
MichalDM 25.07.2019 10:28
MichalDM
A nevoláš náhodou v ajaxComlete další ajax request?
Wikan 25.07.2019 11:00
Wikan
Ne. Teda aspoň ve vlastním jQuery.
MichalDM 25.07.2019 11:17
MichalDM
Takže jinak jo? Nebo jak to mám chápat?
Wikan 25.07.2019 11:25
Wikan
Pochopitelně neznám JavaScript šablony, takže to nemůžu vědět. Ale když to smažu, tak to funguje sp…
MichalDM 25.07.2019 12:55
MichalDM
Problém je určitě v syntaxi Ajaxcomplete. Téměř jistě bych řekl, že není.
Wikan 25.07.2019 15:34
Wikan
Problém není se samotným ajaxem, ale nastavením textu v něm. Jde o to, že ajaxComplete se nezavolá p… poslední
MichalDM 26.07.2019 23:23
MichalDM

Takhle vypadá label - obrázek1.
Když použiji kód

$(".wpforms-field-label:eq(0)").html("Name and Surname");

tak se změní na (obrázek2), což pochopitelně nechci.

Pokud použiji kód

...
$(".wordpress-form").ajaxComplete(function() {
    console.log("pokus");
    $(".wpforms-confirmation-container-full p").text("Thanks for contacting us! We will be in touch with you shortly.");
...

tak se v konzoli zobrazí (obrázek3). Pochopitelně, počet není konečný, pořád se zvyšoval, což je špatně.
A ke změnu textu nedošlo, pouze se smazal původní, ale nic se nepřidalo.

Problém není se samotným ajaxem, ale nastavením textu v něm. Jde o to, že ajaxComplete se nezavolá pouze jednou. console.log to vícekrát vypíše, ovšem změna textu to zacyklí.
V debug mode to jde vidět, že se p ustavičně mění. V OOP by změna, na stejnou hodnotu, neměla na ven efekt, ale tady to očividně funguje jinak.
Proto upravím kód do této podoby

$(".wordpress-form").ajaxComplete(function() {
    $(".wpforms-confirmation-container-full p:contains('Děkujeme')").text("Thanks for contacting us! We will be in touch with you shortly.");
});

Podruhé to pochopitelně neprojde, nezacyklí se to a výsledek je správný.

Tím jsem pouze vyřešil vzniklý problém, ale neodstranil jeho příčinu.
Jenže, to pravděpodobně souvisí s kódem pluginu a ten měnit nebudu.

Díky

Zpět do poradny Odpovědět na původní otázku Nahoru