我想根据用户输入动态创建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");
            }
        }
    }


Create将调用一个函数,其作用是创建文本框并分配一个值。

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..";
}


现在,在运行此代码时,我收到此错误。

镀铬


  未捕获的TypeError:generateLicense(...)不是函数


在Firefox中

TypeError: (("<input type=\"text\" style=\"width:72%\" name=\"txtSerial\" value=" + (intermediate value)) + ">") is not a function


注意:我想同时创建和分配它的值。
javascript - 动态添加文本框并通过函数分配其值-LMLPHP

最佳答案

连接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

关于javascript - 动态添加文本框并通过函数分配其值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53903562/

10-16 20:12