Bir html düğme bir javascript işlevini çağırmak için kullanma.
Bir javascript işlevini çağırmak için bir html düğme kullanmaya çalışıyorum.
İşte kod:
<input type="button" value="Capacity Chart" onclick="CapacityChart();">
Doğru ama işe yaramıyor. Daha iyi bir yolu bunu yapmak için vardır?
Burada sol alt bölümünde kapasite sekmesinde:http://projectpath.ideapeoplesite.com/bendel/toolscalculators.html bağlantısını tıklayın. Düğmesine değerler değişmez ve eğer değerler girerseniz bir grafik oluşturmak gerekir Eğer bir uyarı oluştursun.
CEVAP
HTML/DOM ile olayları işlemek için bir kaç yolu vardır. Doğru ya da yanlış gerçek bir yolu yok ama farklı yollar farklı durumlarda yararlıdır.
1: HTML biçiminde tanımlama Var:
<input id="clickMe" type="button" value="clickme" onclick="doFunction();" />
2: Javascript olay için: DOM özelliği ekleme Var
//- Using a function pointer:
document.getElementById("clickMe").onclick = doFunction;
//- Using and anonymous function:
document.getElementById("clickMe").onclick = function () { alert('hello!'); };
3: Ve Javascript kullanarak: olay işleyicisi için bir işlev ekleme var
var el = document.getElementById("clickMe");
if (el.addEventListener)
el.addEventListener("click", doFunction, false);
else if (el.attachEvent)
el.attachEvent('onclick', doFunction);
Her ikisi de ikinci ve üçüncü yöntem satır içi/anonim işlevler için izin ve her iki unsuru belgeden ayrıştırıldı sonra bildirilmelidir. İlk yöntem özelliği öznitelik XHTML özellikleri değil, çünkü geçerli XHTML değil.
1. ve 2. diğer yöntemleri geçersiz kılar bir birbirini dışlayan, anlamını kullanarak (1). 3. yöntem eğer 1 veya 2. yöntem çok kullanılan hatta aynı olay işleyicisi sizin gibi birçok işlevleri eklemek için izin verecektir.
Büyük ihtimalle, sorun bir yerde CapacityChart()
fonksiyon yatıyor. Linki ziyaret etmek için ve komut çalıştırdıktan sonra CapacityChart() fonksiyonu çalışır ve iki pop-up açılır (komut başına kadar kapalı. Aşağıdaki satırı olduğu:
CapacityWindow.document.write(s);
Şunları deneyin yerine
CapacityWindow.document.open("text/html");
CapacityWindow.document.write(s);
CapacityWindow.document.close();
EDİT
Kodu görünce özellikle IE için yazdığını sanıyordum. Diğerleri de belirttiğim gibi document.getElementById
13 *başvurular değiştirmeniz gerekir. Ancak, sen-ecek hala görevde tamir senaryoyu sonra bu yüzden istiyorum tavsiye almaya çalışıyor en azından YANİ ilk olarak herhangi bir hata yaparsın değiştirme kodu için çalışma çapraz tarayıcı olabilir neden daha fazla kafa karışıklığı. YANİ çalışan bir kod güncelleme yaparken eğer diğer tarayıcılarda çalışıp çalışmadığını söylemek için daha kolay olacaktır.
Nasıl PHP bir JavaScript işlevini çağı...
Nasıl bir JavaScript işlevini çağırır ...
Nasıl bir bağlantı gibi davranan bir H...
Kullanma Metin Giriş elemanı metnin so...
Düğme form göndermek için HTML...