danimac13 0 Denunciar post Postado Outubro 20, 2006 Olá pessoal! Se eu fosse um dos caras responsáveis pelos padrões w3c eu colocaria 3 coisas atributos mascara, tipo e obrigatório nos inputs. Mas como não tenho esse poder eu gostaria de saber se existe uma forma inteligente de separar os campos obrigatórios em uma array separada. Alguém conhece um jeito de pegar a array $_post e retirar somente os campos obrigatórios e colocar numa array separada. Os formulários que eu desenvolvo estão ficando muito grandes para tratar cada input separado sem utilizar um foreach. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 você precisa definir o que seria obrigatorio e pegar dai você monta uma função pra tratar esses campos, mas nao existe nada pronto você vai ter que fazer Compartilhar este post Link para o post Compartilhar em outros sites
danimac13 0 Denunciar post Postado Outubro 20, 2006 você precisa definir o que seria obrigatorio e pegar dai você monta uma função pra tratar esses campos, mas nao existe nada pronto você vai ter que fazerTem como eu inventar um atributo e colocar para tratar ele no javascript?Exemplo: <input type="text" obrigatorio />Veja eu já achei algo parecido. Só que com máscaras no 8º post.Nessa páginaComo se faz? Pelo código eu não compreendi. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 se você inventar um atributo você nao ta mais no padrao W3C você pode definir o que é obrigatorio usando funções e pegando pelo nome do campo que você acha obrigatorio Compartilhar este post Link para o post Compartilhar em outros sites
danimac13 0 Denunciar post Postado Outubro 20, 2006 Mais assim o código fica muito extenso. Eu quero apenas definir esses campos e quando eu clicar no submit ele captura todos eles e coloca em uma array. Assim eu mando para dentro de um foreach e mando brasa. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 Entao você tem que escolher se quer manter o padrao W3C e fazer do jeito certo ou fazer menos codigo mas fazer gambiarra Compartilhar este post Link para o post Compartilhar em outros sites
danimac13 0 Denunciar post Postado Outubro 20, 2006 Será que não dá para criar essa array em tempo real. Por exemplo quando o usuário digitar algo em um campo um evento javascript vai enviando para uma posição do array. Aí é só mandar validar tudo no onsubmit. As vezes é até melhor porque você estaria respeitando os padrões. O difícil é saber qual posição alocar para cada input. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 você pode pegar os campos do $_POST que forem diferente de vazio Compartilhar este post Link para o post Compartilhar em outros sites
danimac13 0 Denunciar post Postado Outubro 20, 2006 Como assim? Me dê um exemplo. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 dentro do foreach você pega só os campos que nao sao vazios ou que nao existem no caso dos checkbox etc... mas entao qual a finalidade disso tudo você nao quer é fazer muita coisa ne? sua preocupação é ter trabalho nas validações? Compartilhar este post Link para o post Compartilhar em outros sites
danimac13 0 Denunciar post Postado Outubro 20, 2006 Isso fabio. Olha só eu descobri um jeito de pegar todos os campos e mandar para uma array. <script> var campos = [4]; var indice=0; function pegaCampo(campo) { campos[0]=campo; indice++; } </script> <body> <input type='text' name="teste" onclick="pegaCampo(this);"> </body>O problema é como pegar esses campos assim que a página for enviada. Qual evento seria bom para fazer isso? É isso mesmo só que tem alguns campos text que não são obrigatórios. A num ser que coloque um id="obrigatorio" aí é só utilizar getElementById mandar para uma array quando o form for enviado. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 melhor você fazer isso via php e outra coisa noa tem como você colocar id="obrigatorio" em todos os campos pois o id é unico Compartilhar este post Link para o post Compartilhar em outros sites
danimac13 0 Denunciar post Postado Outubro 20, 2006 melhor você fazer isso via phpe outra coisa noa tem como você colocar id="obrigatorio" em todos os campos pois o id é unicoOlá Fabyo. Eu andei pesquisando e descobri uma coisa interessante. Ele chama xforms.Veja aqui.A w3c está mudando a forma de desenvolver formulários. Com isso o programador não precisa escrever gambiarras para fazer com que seu código valide esses forms.Aló moderador do web standards. Isso é uma coisa interessante para um artigo! :P Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 Calma ai amigo xforms ainda nao esta compativel com os navegadores entao se você usar você nao ira conseguir trabalhar com eles ainda danimac13 desculpe a sinceridade mas você ta complicando algo simples, nao sei o que você queria fazer em cima do formulario mas lembre-se da para fazer qualquer coisa funcional e pratica, mas precisa ver o que você quer fazer Compartilhar este post Link para o post Compartilhar em outros sites
danimac13 0 Denunciar post Postado Novembro 1, 2006 Calma ai amigo xforms ainda nao esta compativel com os navegadoresentao se você usar você nao ira conseguir trabalhar com eles aindadanimac13 desculpe a sinceridade mas você ta complicando algo simples, nao sei o que você queria fazer em cima do formulariomas lembre-se da para fazer qualquer coisa funcional e pratica, mas precisa ver o que você quer fazerEu sei que é algo simples. Mas eu queria algo que fosse reusável para fazer as coisas aqui que são tudo na pressa. Eu acho melhor nesse caso utilizar a política da interface pois com ela eu programaria a estrutura desses componentes em separado e chamaria através de funções php. A orientação a objetos é uma maravilha. Compartilhar este post Link para o post Compartilhar em outros sites