当我使用单个函数通过使用for循环创建多个html表格行时,我在每一行中都创建了一个文本框和一个按钮。Javascript在同一函数中获取文本框的值
我没有做的是当用户点击按钮时,它会得到文本框的值(在同一行内)。我得到的错误: 遗漏的类型错误:不能为空的读取属性“价值”
请检查下面bidbtn.onclick =()函数部分:
function tablelisting(){
for(i=0;i<domainarray.length;i++){
var newtr = document.createElement("tr")
var newtd1 = document.createElement("td")
var newtd2 = document.createElement("td")
var newtd3 = document.createElement("td")
var newtd4 = document.createElement("td")
var newtd5 = document.createElement("td")
var bidbtn = document.createElement("button")
var textbox = document.createElement("input")
bidbtn.innerHTML = "Bid"
bidbtn.setAttribute("class","btn1")
//bidbtn.setAttribute("onclick","bid()")
textbox.setAttribute("type","text")
textbox.setAttribute("placeholder","USD")
textbox.setAttribute("class","bidtextbox")
textbox.setAttribute("id","bidinput"+i)
newtr.appendChild(newtd1)
newtd1.innerHTML = domainarray[i].domain
newtr.appendChild(newtd2)
newtd2.innerHTML = domainarray[i].dtcreate
newtr.appendChild(newtd3)
newtd3.innerHTML = domainarray[i].dtexpire
newtr.appendChild(newtd4)
newtd4.innerHTML = (Date.parse(domainarray[i].dtexpire) - Date.parse(formatDate(new Date())))/86400000 + " days"
newtr.appendChild(newtd5)
newtd5.appendChild(textbox)
newtd5.appendChild(bidbtn)
bidbtn.onclick = function(){
var bidamount = document.getElementById("bidinput"+i).value
console.log(bidamount)
}
domtable.appendChild(newtr)
}
}
我知道每个bidbtn搭配与文本框在同一行内,但我不知道如何获得用户填写金额后点击文本框的价值,然后点击bidbtn。
如何使bidamount =用户填入金额后的文本框的值?
PLZ使代码段。它会帮助很多 –
什么是'domainarray'和'domtable'。您正在脚本中使用它们,但它们没有在任何地方定义。 – tommyO