チームを招待できるページがあります。[チームを招待] をクリックすると、検索入力を示すポップアップ ボックスが表示されます。検索機能は AJAX ベースです。検索ワードでチームが見つかったら、チームをクリックする必要があります。チームが「招待されたチーム」ボックスに表示されます。
チームを「追加」すると、チームの ID を値として含む非表示の入力フィールドが生成されるように機能します。問題は、私の現在のコードでは、同じチームを何度でも追加できることです。チームがhidden-input-dataで見つかるかどうかを確認できるはずです。すでに存在する場合、正気のチームを追加することはできないはずです。
現在の 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;
}
前もって感謝します。