Olá pessoal. Sou novo aqui no forum, bem como sou novato em programação, principalmente no que diz respeito a JavaScript. Bom, vamos ao meu problema, espero que possam me ajudar. Já peço desculpas adiantadas caso o problema seja muito simples.
Estou com uma tarefa na qual eu tenho que fazer uma página PHP que sirva como súmula de uma partida de futebol. Além de campos como data, tecnico, local, etc, a página deve conter dois Listbox, o primeiro deve conter nomes de jogadores disponíveis para serem escalados para uma dada partida, e o segundo irá conter os jogadores que forem sendo escalados. Isso é feito através de dois botões que movem um dado jogador de um listbox para o outro.
Para controlar essa função de mover os jogadores entre os dois listbox, estou usando uma função de Javascript, a qual encontrei na internet (não gravei a fonte :/ ), e tentei adaptar para fazer a minha necessidade. Até consegui fazer com que os jogadores possam ser movidos de um lado para o outro, e até a parte posterior de gravar no banco de dados somente a pate dos jogadores escalados. Meu maior problema mesmo é com o código do JavaScript, o qual não consegui entender direito.
Como eu disse, consegui fazer com que os jogadores sejam movidos de acordo com os botões apertados, porém, há uma pequena regra nesta minha tarefa. Somente 5 jogadores podem ser escalados. Caso o usuário tente escalar um sexto jogador, uma mensagem deve avisá-lo que o limite já foi alcançado, e este sexto jogador que o usuário tentou escalar, deve voltar para o listbox dos disponíveis. Parece algo simples (eu acho), mas não consegui entender direito o código e por isso não consegui adaptá-lo para satisfazer essas condições :/ Por isso, resolvi vir pedir a ajuda de vocês.
Segue abaixo o código da função "move".
function move(MenuOrigem, MenuDestino){
var arrMenuOrigem = new Array();
var arrMenuDestino = new Array();
var arrLookup = new Array();
var i;
for (i = 0; i < MenuDestino.options.length; i++){
arrLookup[MenuDestino.options[i].text] = MenuDestino.options[i].value;
arrMenuDestino[i] = MenuDestino.options[i].text;
}
var fLength = 0;
var tLength = arrMenuDestino.length;
for(i = 0; i < MenuOrigem.options.length; i++){
arrLookup[MenuOrigem.options[i].text] = MenuOrigem.options[i].value;
if (MenuOrigem.options[i].selected && MenuOrigem.options[i].value != ""){
arrMenuDestino[tLength] = MenuOrigem.options[i].text;
tLength++;
}
else{
arrMenuOrigem[fLength] = MenuOrigem.options[i].text;
fLength++;
}
}
arrMenuOrigem.sort();
arrMenuDestino.sort();
MenuOrigem.length = 0;
MenuDestino.length = 0;
var c;
for(c = 0; c < arrMenuOrigem.length; c++){
var no = new Option();
no.value = arrLookup[arrMenuOrigem[c]];
no.text = arrMenuOrigem[c];
MenuOrigem[c] = no;
}
for(c = 0; c < arrMenuDestino.length; c++){
var no = new Option();
no.value = arrLookup[arrMenuDestino[c]];
no.text = arrMenuDestino[c];
MenuDestino[c] = no;
}
}
Pergunta
damndk
Olá pessoal. Sou novo aqui no forum, bem como sou novato em programação, principalmente no que diz respeito a JavaScript. Bom, vamos ao meu problema, espero que possam me ajudar. Já peço desculpas adiantadas caso o problema seja muito simples.
Estou com uma tarefa na qual eu tenho que fazer uma página PHP que sirva como súmula de uma partida de futebol. Além de campos como data, tecnico, local, etc, a página deve conter dois Listbox, o primeiro deve conter nomes de jogadores disponíveis para serem escalados para uma dada partida, e o segundo irá conter os jogadores que forem sendo escalados. Isso é feito através de dois botões que movem um dado jogador de um listbox para o outro.
Para controlar essa função de mover os jogadores entre os dois listbox, estou usando uma função de Javascript, a qual encontrei na internet (não gravei a fonte :/ ), e tentei adaptar para fazer a minha necessidade. Até consegui fazer com que os jogadores possam ser movidos de um lado para o outro, e até a parte posterior de gravar no banco de dados somente a pate dos jogadores escalados. Meu maior problema mesmo é com o código do JavaScript, o qual não consegui entender direito.
Como eu disse, consegui fazer com que os jogadores sejam movidos de acordo com os botões apertados, porém, há uma pequena regra nesta minha tarefa. Somente 5 jogadores podem ser escalados. Caso o usuário tente escalar um sexto jogador, uma mensagem deve avisá-lo que o limite já foi alcançado, e este sexto jogador que o usuário tentou escalar, deve voltar para o listbox dos disponíveis. Parece algo simples (eu acho), mas não consegui entender direito o código e por isso não consegui adaptá-lo para satisfazer essas condições :/ Por isso, resolvi vir pedir a ajuda de vocês.
Segue abaixo o código da função "move".
Caso algo mais seja necessário, é só me avisar.
Agradeço desde já pela ajuda pessoal :)
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.