v2.5.2
Giriş yap

Javascript Kullanarak Buton Yazısını Değiştirmek

aybarsalvarci
2,428 defa görüntülendi

Laravel'de takip sistemi yapıyorum. Bir kullanıcının sayfasına girildiğinde takiğ butonuna tıklayarak takip edebiliyoruz.
Buton tıkanınca controllera istek atıyorum ve gelen duruma göre buton içeriğini değiştimek istiyorum.
'innerHtml' kullanmayı denedim beceremedim. Bilgisi olan var mı? Ya da daha mantıklı bir sistem önerisi olan var mı?

Cevap yaz
Cevaplar (4)
green
1447 gün önce

Buttonu <input id="takip-butonu" type="button"> şeklinde kullanıyorsan;

document.getElementById("takip-butonu").value = "Takip Edildi";

<button type="submit" id="takip-butonu">Takip Et</button> şeklinde kullanıyorsan;

document.getElementById("takip-butonu").innerHTML = "Takip Edildi";
aybarsalvarci
1447 gün önce

Tamamen javascript bilgimin az olmasından kaynaklı. Teşekkur ederim yanıtlar için.
Detaylı anlatım için ayrıca teşekkür ederim Tayfun hocam.

tayfunerbilen
1447 gün önce

takip et butonunun böyle olduğunu varsayalım

<button onclick="follow('1', this)">Takip et</button>

o zaman follow() fonksiyonunu şöyle kurgulayabilirsin

function follow(id, el){
    // ajax isteği yaptıktan sonra aşağıdakileri çalıştır
    el.innerText = 'Takibi bırak';
    el.setAttribute('onclick', `unfollow(${id}, this)`);
}

function unfollow(id, el){
    // takibi bırakmak için gerekli ajax requesti
    el.innerText = 'Takip et';
    el.setAttribute('onclick', `follow(${id}, this)`);
}

çalışmadı dersin diye demosunuda koyayım garanti olsun :)
demo: https://codepen.io/tayfunerbilen/pen/WNGxxKa

aybarsalvarci
1447 gün önce

Sorun jquery seçicileri kullanmam ile alakalıymış. Standart getElementByID kullanarak çözüldü. Jquery kullanımında .html() fonksiyonu kullanarak yapmak gerekiyormuş.