JavaScript appendChild()不工作?(第一次使用appendChild())
我正在尝试建立一个小简历生成器。我希望用户能够输入任意数量的电话号码。但是,appendChild()未按预期工作。事实上,它根本不起作用。它什么也不做。有什么想法吗 HTML:JavaScript appendChild()不工作?(第一次使用appendChild()),javascript,appendchild,Javascript,Appendchild,我正在尝试建立一个小简历生成器。我希望用户能够输入任意数量的电话号码。但是,appendChild()未按预期工作。事实上,它根本不起作用。它什么也不做。有什么想法吗 HTML: Javascript: var numberOfPhoneInputs = 1; function addPhoneNumber() { // Found out the following doesn't work as expected... // var newPhoneNumberInput =
Javascript:
var numberOfPhoneInputs = 1;
function addPhoneNumber()
{
// Found out the following doesn't work as expected...
// var newPhoneNumberInput = "<input type=\"text\" size=\"20\" name = \"phoneNumber[" +
// numberOfPhoneInputs +"]\" value=\"\" />" +
// "<br />"
// document.getElementById("phoneNumbers").innerHTML += newPhoneNumberInput;
var div = document.getElementByID("phoneNumbers");
var newPhoneNumberInput = document.createElement('input');
newPhoneNumberInput.setAttribute('type', 'text');
newPhoneNumberInput.setAttribute('name', 'phoneNumber['+numberOfPhoneInputs+']');
newPhoneNumberInput.setAttribute('size', '20');
newPhoneNumberInput.setAttribute('value', '');
div.appendChild(newPhoneNumberInput);
numberOfPhoneInputs ++;
}
var numberOfPhoneInputs=1;
函数addPhoneNumber()
{
//发现以下内容无法按预期工作。。。
//var newPhoneNumberInput=“”+
//“
”
//document.getElementById(“PhoneNumber”).innerHTML+=newPhoneNumberInput;
var div=document.getElementByID(“电话号码”);
var newPhoneNumberInput=document.createElement('input');
newPhoneNumberInput.setAttribute('type','text');
newPhoneNumberInput.setAttribute('name','phoneNumber['+numberOfPhoneInputs+']');
newPhoneNumberInput.setAttribute('size','20');
newPhoneNumberInput.setAttribute('value','');
div.appendChild(newPhoneNumberInput);
numberOfPhoneInputs++;
}
您需要返回false单击处理程序中的code>,以阻止按钮提交页面的默认操作。文档。getElementByID
必须是文档。getElementByID
此错误应显示在控制台中。您需要进行这些更改
更改document.getElementByID(“电话号码”)
到document.getElementById(“电话号码”)代码>
(可选)如果您将var-div
更改为var-phoneNumbersDiv
或其他内容,这将很好
小提琴示例:
更新代码:
var numberOfPhoneInputs = 1;
function addPhoneNumber(){
var div1 = document.getElementById("phoneNumbers");
var newPhoneNumberInput = document.createElement('input');
newPhoneNumberInput.setAttribute('type', 'text'); newPhoneNumberInput.setAttribute('name', 'phoneNumber['+numberOfPhoneInputs+']');
newPhoneNumberInput.setAttribute('size', '20');
newPhoneNumberInput.setAttribute('value', '');
div1.appendChild(newPhoneNumberInput);
numberOfPhoneInputs ++;
}
你有一个XSS漏洞。你在控制台中有任何错误吗?我想不出他为什么需要将var div
更改为var div1
,你能详细说明一下吗?没有必要。。更新了代码。。我刚才说是为了更好的目的,因为div是一个元素名。谢谢!我没有任何控制台…:(@Silver:使用Firebug或Chrome,没有控制台开发就像没有窗口驾驶一样。
var numberOfPhoneInputs = 1;
function addPhoneNumber(){
var div1 = document.getElementById("phoneNumbers");
var newPhoneNumberInput = document.createElement('input');
newPhoneNumberInput.setAttribute('type', 'text'); newPhoneNumberInput.setAttribute('name', 'phoneNumber['+numberOfPhoneInputs+']');
newPhoneNumberInput.setAttribute('size', '20');
newPhoneNumberInput.setAttribute('value', '');
div1.appendChild(newPhoneNumberInput);
numberOfPhoneInputs ++;
}