2016-04-08 18 views
-4

parametresinde geçirerek geçiriyorum. İç değişkenini, içHTML'yi kullanarak bir onclick olayında parametre olarak geçirmem gerekiyor. Burada gördüğünüz gibi, ben işlev "deleteseries" değişken "seriesdel" geçmek deneyin ama sadece çalışır yapamaz koduminnerHTML değişkenlerini onClick olayı

var seriesdel = document.getElementById('series_name').value; 
document.getElementById('all_series').innerHTML +="<p>"+document.getElementById('series_name').value+" <button class='button' id='delete' onclick='deleteseries("+seriesdel+");' value='Delete'>Delete</button></p>"; 

bu.

Yardımlarınız için teşekkür ederiz.

+0

oluşturulan koda bir jsfiddle –

+1

bak olun. –

cevap

-1

, sen onclick işlev çağrısında da dize kaçmak gerekir: onclick='deleteseries(\""+seriesdel+"\");'

+0

Teşekkür ederiz! Şimdi mükemmel çalışıyor! –

3

Form denetimi değerleri dizgilerdir.

JavaScript'te bir dize değeri yapıştırmak istediğinizde, onu tırnak içine almanız gerekir.

Tırnak işaretlerini ihmal ettiniz, böylece girdiye yazılan her şey (bir sayı olmadığı sürece) bir değişken adı veya bir sözdizimi hatası olarak ele alınacaktır.

Teklifleri ekleyin.


(muhtemelen HTML gömülü olduğu) JavaScript gömülü HTML gömülü JavaScript ile uğraşmak çalışılıyor bir baş ağrısı verecektir. Bunun yerine DOM kullanın. Daha ayrıntılı, ama çok daha net. Eğer bir dize nesne geçiş yapmaya çalışan olduğundan

var seriesdel = document.getElementById('series_name').value; 
var paragraph = document.createElement('p'); 
paragraph.appendChild(document.createTextNode(seriesdel)); 
var button = document.createElement("button"); 
button.classList.add("button"); 
button.setAttribute("id", "delete"); 
button.value = "Delete"; 
button.appendChild(document.createTextNode("Delete")); 
button.addEventListener("click", deleteHandler); 
paragraph.appendChild(button); 
document.getElementById('all_series').appendChild(paragraph); 

function deleteHandler(event) { 
    deleteseries(seriesdel); 
}