我想根据用户输入动态创建n个文本框。 每个文本框必须填充一个序列号。在这里,我到目前为止已经尝试过了。
function generateSerial(sender,eventArgs){
debugger;
//var rw_Serail = stockin.rw_Serail;
if(eventArgs.get_newValue()!="0"){
if(eventArgs.get_newValue()!=eventArgs.get_oldValue()){
create(eventArgs.get_newValue());
//OpenWindow(null,null,"rw_Serial");
}
}
}
创建将调用一个函数,其作用是创建文本框并分配一个值。
function create(param) {
debugger;
var s= "";
for(var i = 0; i < param; i++) {
s+= `<input type="text" style="width:72%" name="txtSerial" value=${generateLicense()}>`
`<button type="button" style="margin-left: 5px;height: 24px;">Change</button>`; //Create one textbox as HTML
}
document.getElementById("dvserialNo").innerHTML=s;
}
顾名思义,generateLicense()将返回一个序列号。
function generateLicense() {
return "abcd1234Etc..";
}
现在,在运行此代码时,出现此错误。
在Chrome浏览器中
未捕获的TypeError:generateLicense(...)不是函数
在Firefox中
TypeError: (("<input type=\"text\" style=\"width:72%\" name=\"txtSerial\" value=" + (intermediate value)) + ">") is not a function
答案 0 :(得分:2)
串联s+
中的两个元素。当然,建议的答案之一包括value="${generateLicense()}"
s+= `<input type="text" style="width:72%" name="txtSerial" value="${generateLicense()}">`
+ `<button type="button" style="margin-left: 5px;height: 24px;">Change</button>`; //Create one textbox as HTML