Fórum WebTuga

Tecnologia => Programação => Topic started by: Kugas on February 26, 2008, 03:04:55 PM

Title: [HTML] contagem de caixas de texto
Post by: Kugas on February 26, 2008, 03:04:55 PM
Tenho um problema em k consiste contar ktas caixas de texto preenchi... por exemplo tenho 10 caixas de texto e so preenchi 5... e no resultado dava-me : "voce preencheu 5 caixas..."

ja tive a ver na net mas nao consegui encontrar nada... so encontrei contagem de "radio\\'s" e "checkboxes"

alguem me pode ajudar nesta situação ou se isto é possivel...

obrigado
Title: [HTML] contagem de caixas de texto
Post by: lycosman on February 26, 2008, 04:11:24 PM
Isso é fácil. Dás um nome sequencial às textboxes, do tipo \\'txt_1\\', txt_2\\', etc... Depois crias um for que irá ser executado quando submetes o form, algo do tipo:

for ($i=1,$txtcount=0;$i<11;$i++)

{

$txt = ("txt_".$i);

if !($_GET[$txt]=="") $txtcount += 1;

}

echo ("Preencheu ".$txtcount." caixas.");

Isto supondo que estás a trabalhar com PHP.
Title: [HTML] contagem de caixas de texto
Post by: Kugas on February 26, 2008, 05:04:59 PM
sim tou a mexer em php...

o nome da minha caixa de texto é name="qtu<rowtemp>" a 2Ã,ª é name="qtd<rowtemp>", a 3Ã,ª é name="qtt<rowtemp>", a 4Ã,ª é name="qt4<rowtemp>" etc etc etc ate 12, estão dentro dum ciclo while ou seja nunca irão ser 12 caixinhas e preciso dessas variaveis no nome... ainda é possivel com o teu metodo no post anterior??
Title: [HTML] contagem de caixas de texto
Post by: cgoncalves on February 27, 2008, 06:15:58 AM
Tens de mudar o nome da variável para algo sequencial para que depois possa entrar no ciclo do código acima indicado.

qtu, qtd, qtt, qt4 não são nomes sequenciais.
Title: [HTML] contagem de caixas de texto
Post by: Kugas on February 27, 2008, 09:26:19 AM
pois... :s mas nao posso mudar... prk todo o codigo a seguir depende deste nome.... e seria um suicidio tar a mudar tudo... :|

não há outra opção... ou so mesmo essa??

se nao houver obrigado na mesma pela ajuda....
Title: [HTML] contagem de caixas de texto
Post by: cgoncalves on February 27, 2008, 11:20:26 AM
Há, podes fazer o seguinte no ficheiro PHP crias variáveis sequenciais ou um array para guardar os nomes das caixas de texto.

Ex:
qtu = txt_1
qtd = txt_2
qtt = txt_3
qt4 = txt_4

Se bem que um array era bem mais correcto, mas assim também serve
Title: [HTML] contagem de caixas de texto
Post by: ilovehentai on February 27, 2008, 11:38:31 AM
não precisas de dar nomes sequenciais as caixas de texto, o erro cometido ai é o facto de usarem um ciclo "for", para as super Globais tais como $_GET ou $_POST visto que são arrays deverias usar o "foreach"
bem mais prático, tipo assim:




$i = 0;



foreach($_POST as $valor){



if ($valor != ""){



 $i ++;



}



}



echo "Foram preenchidas $i caixas";

Partindo do princípio claro que o teu formulário esta com o method="post", neste caso o ciclo foreach irá percorrer todos os valores do seu array colocando temporariamente numa variável ($valor), caso ela seja diferente de nada o valor de $i é incrementado por 1.

Cumps.
Title: [HTML] contagem de caixas de texto
Post by: Kugas on February 27, 2008, 12:37:08 PM
nao... ele ta em method=GET... so dps é k fica em method=POST
Title: [HTML] contagem de caixas de texto
Post by: Kugas on February 27, 2008, 04:30:09 PM
eu tenho é no input um id="qt" e axo k nao serve de nada... sera k posso utilizar com isso??
Title: [HTML] contagem de caixas de texto
Post by: lycosman on February 27, 2008, 07:16:04 PM
Quotenão precisas de dar nomes sequenciais as caixas de texto, o erro cometido ai é o facto de usarem um ciclo "for", para as super Globais tais como $_GET ou $_POST visto que são arrays deverias usar o "foreach"
bem mais prático, tipo assim:




$i = 0;



foreach($_POST as $valor){



if ($valor != ""){



 $i ++;



}



}



echo "Foram preenchidas $i caixas";

Partindo do princípio claro que o teu formulário esta com o method="post", neste caso o ciclo foreach irá percorrer todos os valores do seu array colocando temporariamente numa variável ($valor), caso ela seja diferente de nada o valor de $i é incrementado por 1.

Cumps.

Sim, também se pode ir por aí, mas e se por POST passarem também outros dados do form, p. e., radios e checkboxes, ou até mesmo mais textboxes, que não contam para a contagem? Isso não os vai verificar também?
Title: [HTML] contagem de caixas de texto
Post by: Kugas on February 28, 2008, 01:18:20 PM
pois eu tenho textboxes k nao é pa contar... so mesmo uns especificos