使用JavaScript在html中动态添加文本框(发生语法错误) var i=1; 函数addkid(){ 如果(i
此赋值中的字符串文字有问题:使用JavaScript在html中动态添加文本框(发生语法错误) var i=1; 函数addkid(){ 如果(i,javascript,html,dynamic,textbox,Javascript,Html,Dynamic,Textbox,此赋值中的字符串文字有问题: <!DOCTYPE html> <html> <head> <script type="text/javascript"> var i =1; function addkid(){ if(i<=3){ i++; var div=document.createElement('div');
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var i =1;
function addkid(){
if(i<=3){
i++;
var div=document.createElement('div');
div.innerHTML="Child:<input type="text" name="child_1">
<input type="button" id="add_kid()" onclick="addkid()" value="+" />
<input type="button" value="-" onclick="removekid(this)">";
document.getElementById('kids').appendChild(div);
}
}
function removekid(div){
document.getElementById('kids'.removeChild(div.parentNode);
i--;
}
</script>
</head>
<body>
<form>
Name: <input type="text" name="name"><br/>
<div id="kids">
Child:<input type="text" name="child_1">
<input type="button" id="add_kid()" onclick="addkid()" value="+" />(limit 3)
</div>
Phone: <input type="text" name="phone"><br/>
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
或者,可以用单引号将字符串括起来,然后不必转义双引号:
div.innerHTML = "Child:<input type=\"text\" name=\"child_1\">"
+ " <input type=\"button\" id=\"add_kid()\" onclick=\"addkid()\" value=\"+\" />"
+ " <input type=\"button\" value=\"-\" onclick=\"removekid(this)\">";
展开以下代码段以查看上述问题已修复,并且代码正常工作:
var i=1;
函数addkid(){
如果(i)错误是否告诉您错误发生在哪一行?如果您在浏览器控制台中查看,则应将行号显示为链接,如果单击它,则应显示突出显示问题的实际代码。(实际上,堆栈溢出应用于代码的基于颜色的语法高亮显示显示了问题:您没有跳过行div.innerHTML=…
)中的嵌套引号)“Child:这行给出了错误,您能纠正它吗?Thanx,尽管现在没有出现错误:)当”+“没有添加新的文本框:(在removekid()
中有一个错误。我已经更新了我的答案,并包含了一个正在运行的演示。我更正了现在没有错误,但是不会添加新的文本框。我无法解释这一点,除非您在浏览器控制台中有进一步的错误消息。”(无论是在加载页面时还是在按下“添加”按钮时)。从我的回答中的演示可以看出,我显示的代码很有效。Thanx非常有帮助:)我昨天一整天都在忙这个
div.innerHTML = "Child:<input type=\"text\" name=\"child_1\">"
+ " <input type=\"button\" id=\"add_kid()\" onclick=\"addkid()\" value=\"+\" />"
+ " <input type=\"button\" value=\"-\" onclick=\"removekid(this)\">";
div.innerHTML = 'Child:<input type="text" name="child_1">'
+ ' <input type="button" id="add_kid()" onclick="addkid()" value="+" />'
+ ' <input type="button" value="-" onclick="removekid(this)">';
div.innerHTML = 'Child:<input type="text" name="child_1"> <input type="button" id="add_kid()" onclick="addkid()" value="+" /> <input type="button" value="-" onclick="removekid(this)">';
document.getElementById('kids'.removeChild(div.parentNode);