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
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.
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??
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.
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....
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
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.
nao... ele ta em method=GET... so dps é k fica em method=POST
eu tenho é no input um id="qt" e axo k nao serve de nada... sera k posso utilizar com isso??
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?
pois eu tenho textboxes k nao é pa contar... so mesmo uns especificos