这是检查表单是否完整的函数。
所以,我正在尝试做什么:
表格显示5次,输入如下:
Yes a1
No
Yes a3
No
Yes
现在,此输入应显示错误,因为在第5种情况下,选择“是”但未在文本框中输入任何内容。
然而,我明白了:
http://i.imgur.com/ya2CUp0.png
此外,文本没有像第1和第3例那样更新。
我对JS不太了解,所以请尽可能向我提供解释。
编辑:完整代码:http://pastebin.com/scNSNM2H
由于
答案 0 :(得分:2)
你有一个循环:
var exaggerationPart = document.getElementById('exaggeration').value
然后检查以确保每个项目都有值。但是你每次都会获得相同的价值。
您正在创建具有相同ID的多个输入,“夸张”。这是无效的HTML。 Id必须是唯一的。要更正此问题,您可以像使用其他元素(例如input[name='response"+thisJokeIndex+"']
)一样增加id。
var exaggerationPart = document.getElementById('exaggeration' + thisJokeIndex).value
tipTD2.append("<input type='text' name='exaggeration' id='exaggeration" + tipIndex + "' size='70'>")
工作演示: jsfiddle.net/svvge/2
修改:要清除文本框的值,您必须更改文本框元素的value
属性。现在你只是改变一个变量的值。
var exaggerationInput = document.getElementById('exaggeration' + thisJokeIndex).value;
var exaggerationPart = exaggerationInput.value;
exaggerationInput.value = '';