Hej, jest tu ktoś ogarnięty w JavaScript? Głowię się nad tym pół dnia i nie mogę ugryźć.
Jest sobie textarea na stronce, w JS go sobie wczytuję z kodu stronki, zawartość jest lekko przemielona i zwracana w osobnym okienku. Ale nie mam pojęcia jak ugryźć sytuację, w której użyszkodnik zmieni coś w źródłowym polu tekstowym. Chciałbym pobrać dane nie z kodu strony ale to co on wpisał.
OK, rozumiem że na tym "źródłowym" texarea muszę odpalić jakiś event (change?), ale jak na ten event zareagować? querySelector czy inny getElementByCośtam zaciągnie mi oryginalne dane z kodu strony, nie te, które aktualnie znajdują się w polu tekstowym. Jakieś pomysły jak się do tego dobrać?
Forum > Software > JS - ponowne pobranie zawartości textarea
Wysłane 2020-02-20 14:55 , Edytowane 2020-02-20 14:55
Wysłane 2020-02-20 19:40 , Edytowane 2020-02-20 19:41
https://jsfiddle.net/kuwabarahiroshi/7CsFR/
jQuery(function($) {
var old_data;
$('textarea').autoGrowTextArea();
//log na wczytaniu do konsoli
console.log('start: ' + $('#text3').val());
//podmina zawartosci kodem
$('#text3').val('dupa');
//nowe dane do konsoli warnem
console.warn($('#text3').val());
//zapisanie zawartości z text3 powiedzmy jak wczytujesz sobie dane
old_data = $('#text3').val();
// event na zmianie ( log po kazdej zmianie zawartości textarea3 )
$(function() {
$('#text3').on('change keyup', function() {
// kazde puszczenie np CTRL zadziala ale tez jak wcisniesz 2 i wiecej na raz gdy kursor wewnatrz - akcja przy kazdym zwolnieniu
// (analogicznie jak przytrzymasz to poleci zmiana w chwili puszczenia)
if (old_data == $(this).val()) {
//brak zmian
console.log('brak zmian');
} else {
//jest zmiana zapisujesz sobie nowe dane
old_data = $(this).val();
// warn z tymi danymi
console.warn($(this).val());
// mozesz sobie robić co chesz tu
}
})
});
});
pytanie po co chcesz wykrywać zmiany ???
nie lepiej na jakim zapisie z zawartością coś zrobić , czy to przejściu dalej ??
Wysłane 2020-02-21 15:34 , Edytowane 2020-02-21 15:37
querySelector czy inny getElementByCośtam zaciągnie mi oryginalne dane z kodu strony, nie te, które aktualnie znajdują się w polu tekstowym.
Nieprawda. Poda ci to co się aktualnie znajduje w polu.
https://jsfiddle.net/ytavqcx8/3/
JS nie ma nic do "kodu" strony. Odpowiada on jedynie za pierwsze wyrenderowanie.
We frameworkach SPA często cały kod strony to coś w stylu <div id="root" /> a całą resztę robi dynamicznie JS.
Zobacz sobie np. źródło tego: http://react-compare-app.surge.sh/
Kto jest online: 1 użytkowników, 206 gości
koniiu ,