我有一个页面,您可以在其中邀请团队。单击“邀请团队”会出现一个显示搜索输入的弹出框。搜索功能基于 AJAX。当通过您的搜索词找到一个团队时,您必须单击该团队,然后该团队将显示在“受邀团队”框中。
它的工作方式是,当您“添加”团队时,会生成一个隐藏的输入字段,其中包含团队的 ID 作为值。问题是,使用我当前的代码,可以根据需要多次添加同一个团队。如果可以在隐藏输入数据中找到团队,我应该可以检查。如果它已经存在,那么应该不可能添加理智的团队。
我当前的 javascript 代码可以在下面找到。请注意,我已尝试编写检查团队的代码,但它不起作用。
function addTeam(tid) {
// Grab the input value
var teamName = document.getElementById(tid).innerHTML;
var teamID = document.getElementById(tid).id;
// If empty value
if(!teamName || !teamID) {
alert('An error occured.');
} else {
//Tried to do the "team-adlready-added"-test, but it doesn't work
var stored_teams = $t('#store-teams').getElementsByTagName('input');
for (var i = 0; i < stored_teams.length; i++) {
var stored_team = stored_teams[i];
if(stored_team.value == teamID) {
break;
var team_already_added = 1;
}
alert(team_already_added);
}
if((team_already_added) || team_already_added != 1) {
// Store the team's ID in hidden inputs
var store_team = document.createElement('input');
store_team.type = 'hidden';
store_team.value = teamID;
// Append it and attach the event (via onclick)
$t('#store-teams').appendChild(store_team);
// Create the teams with the value as innerHTML
var div = document.createElement('div');
div.className = 'team-to-invite';
div.innerHTML = teamName;
// Append it and attach the event (via onclick)
$t('#teams').appendChild(div);
}
div.onclick = removeTeam;
}
return false;
}
提前致谢。