我发现this fiddle并且我试图让它工作......我无法弄清楚为什么名称没有被添加到列表中,由于某种原因,添加按钮就像提交按钮一样我不知道为什么......它应该将所有数字添加到列表中,所以当我点击提交时,它应该将数字发送到数组中..
JavaScript的:
function bindName() {
var inputNames = document.getElementById("names").getElementsByTagName("inputNames");
for (i = 0; i < inputNames.length; i++) {
inputNames[i].onkeydown = function() {
if (this.value == "") {
setTimeout(deletename(this), 1000);
}
}
}
}
document.getElementById("addName").onclick = function() {
var num1 = document.getElementById("name");
var myRegEx = /^[0-9]{10}$/;
var myRegEx = /^[0-9]{10}$/;
var itemsToTest = num1.value;
if (myRegEx.test(itemsToTest)) {
var form1 = document.getElementById("names");
var nameOfnames = form1.getElementsByTagName("inputNames").length;
var newGuy1 = document.createElement("inputNames");
newGuy1.setAttribute("id", nameOfnames);
newGuy1.setAttribute("type", "text");
newGuy1.setAttribute("value", num1.value);
form1.appendChild(newGuy1);
num1.value = "";
bindName();
}
else {
alert('error');
}
};
HTML:
<h1>Enter Name</h1>
<div id="mainName">
<h2>name</h2>
<label for="name">Add Names: </label>
<input id="name" type="text">
<button id="addName">Add</button>
<form>
<div id="names">
</div>
<input METHOD="POST" action="text.php" type="submit" value="Submit">
</form>
</div>
答案 0 :(得分:0)
由于此/^[0-9]{10}$/;
仅接受10个号码,因此请尝试输入1234567890
,您将看到没有错误。
答案 1 :(得分:0)
我见过
document.createElement("inputNames");
不应该
document.createElement("input");
答案 2 :(得分:0)
我不确定为什么你的“名字”字段仅限于10位数字,但我已经有了工作。 http://jsfiddle.net/y8Uju/4/
我认为问题在于您尝试使用标记名称inputNames创建元素,但这不是有效标记。相反,我将其更改为创建输入,并将类设置为inputNames。