【发布时间】:2013-12-17 19:21:42
【问题描述】:
在我的表单中,onsubmit 要求来自三个不同函数的返回值。一个函数应该检查具有某个类的文本框是否为空。在我的表单中,我可以添加与已经存在的文本框具有相同类的文本框。当我添加这样一个文本框时,该功能似乎只检查最后添加的文本框,因为当我提交表单时,即使第一个文本框为空,它也会提交。
当我不添加任何文本框时,第一个被选中...所以问题只有在我添加文本框时才会出现。
如果有人可以帮助我,我将不胜感激!提前致谢!
这是我的代码:
function legedienst()
{
var omschrijvingen = document.getElementsByClassName('omschrijving');
var valid = true;
for (var i=0; i < omschrijvingen.length; i++)
{
if (omschrijvingen[i].value == '')
{
document.getElementById('error').innerHTML = 'Vul alle diensten in a.u.b.';
valid = false;
}
}
return valid;
}
这里是创建和删除动态文本框的代码。 "bereken()" 只是一个被调用来计算一些值的函数。
// dienst toevoegen
var linenumber = 0;
addLine = function()
{
linenumber++;
$('#dienst').append('<tr><td><input name="dienstomschrijving[]" type="text" style="width: 200px;" class="omschrijving" /></td><td><input name="prijs" class="prijs" type="text" style="width: 100px;" /></td><td><input name="verwijder_dienst" type="button" value="Verwijder dienst" onclick="delLine(this)" /></td></tr>');
bereken();
}
// dienst verwijderen
delLine = function(line)
{
$(this).closest('tr').remove();
};
【问题讨论】:
-
获取 nodeList 是实时的,并且应该包含添加的元素,所以我看不出提交时会有什么问题?一定是发生了其他事情。
-
prototype.js 是不是到处乱跑?
getElementsByClassName -
你能分享创建动态文本框的代码吗?
标签: javascript textbox dynamically-generated