Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

djalma_bina

Formulário de busca.

Recommended Posts

Estou montando um formulário de busca para um Store Locator com a Google Maps API com base nesta página :

http://www.e-reserve.org/index.html

O código deste formulário de pesquisa é este :

<form action="phpGoogleStoreLocator.php" method="POST" name="search">
	 <label for="searchbox"> </ label>
	 <table width="93%" height="100%" border="0">
	   <tr>
		 <td width="70%">
	  <label for="searchbox"> Input Street, endereço, cidade ou estado
aqui: </ label>
   <input type = "text"  name = "location" value = ""  class = "text" />   ( ?  aqui  está  dúvida)
		   <input type = "radio" id = "produto" name = "produto"
valor = "Chambres d'Hotes" verificada />
		   <label for="Chambres D'Hotes"> Chambres D'Hotes </ label>
		   <input type = "radio" id = "produto" name = "produto"
valor = "Gites" />
		   <label for="Gites"> Gites </ label>
	   <label for="fB" id="distance"> Distância: </ label>
	   <select id="distance">
		  <option value="3"> 3 milhas </ option>
		  <option value="5"> 5 milhas </ option>
		  <option value="10"> 10 milhas </ option>
		  <option value="30" selected> 30 milhas </ option>
		  <option value="50"> 50 milhas </ option>
		  <option value="100"> 100 milhas </ option>
		  <option value="150"> 150 milhas </ option>
		  </ select>
	   <input type="submit" name="Go" value="Go" class="submit" />
		   </ form>

No caso, como estou definindo várias entradas (rua, endereço, cidade,

etc ..) este campo seria um <input type ="text" name="location" value=""> ou um

<input type ="hidden" name="location" value="">

Não seria preciso algum Javascript adicional para validar este form ?

Muito obrigado por qualquer sugestão.

Djalma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim sim para validar o FORM é necessario JAVASCRIPT ou SERVER-SIDE(PHP,ASP,JAVA,ETC)

 

movido de:

Webstandards: CSS / XML / XHTML / HTML http://forum.imasters.com.br/public/style_emoticons/default/seta.gif javascript/dhtml

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta mas minha dúvida está no tipo de campo de envio das variáveis , devo usar input type="text" ou input type="hidden" com value="" para diversos valores lá no form ?

Djalma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende input type="text" é para textos VISIVEIS, e o HIDDEN é para invisiveis seu valor só pode ser mudado via SCRIPT(JS).

SE você deseja que o usuario digite manualmente o VALOR use o TYPE=TEXT, se você quer ocultar o valor do input use HIDDEN

os dois enviam informações para variaveis SERVER-SIDE da mesma maneira.

 

em javascript se você quiser pegar as variaveis bastará usar "DOM".

 

O que exatamente você queria fazer?

falow ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, meu script php deverá pegar estas variáveis assim :

$zipcode = $_POST['zipcode'] = addslashes($_GET['zipcode']);

$street = $_POST['street'] = addslashes($_GET['street']);

$city = $_POST['city'] = addslashes($_GET['city']);

$state= $_POST['state'] = addslashes($_GET['state']);

 

para acessar dados em diversos campos de uma tabela MYSQL assim :

 

$zipcode = $rows['zipcode'];

$street = $rows['street'];

$city = $rows['city'];

$state = $rows['state'];

 

Mas o campo de envio delas no HTML deve ser um APENAS. No caso, o usuário terá

várias opções a digitar mas TODAS vindo de um campo de texto apenas no form, se quiser fazer uma busca por codigo postal("zipcode"),rua ("street"), cidade("city") ou estado("state") no banco de dados. Desculpe não sei se estou com este post na seção correta, deveria ser no PHP ? como a dúvida está partindo do form HTML eu postei aqui primeiro. Obrigado.

Djalma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehe me desculpe mas não entendi sua duvida, bem vou ver se compreendi, o que você quer é aplicar varios valores de INPUTs em um unico INPUT?

 

bem se puder ser mais claro, assim eu poderia ajuda-lo ;)

bem só uma dica quanto ao código PHP.

 

ao inves disso:

$zipcode = $_POST['zipcode'] = addslashes($_GET['zipcode']);
$street = $_POST['street'] = addslashes($_GET['street']);
$city = $_POST['city'] = addslashes($_GET['city']);
$state= $_POST['state'] = addslashes($_GET['state']);

faça isso:

$zipcode = (isset($_POST['zipcode']))? $_POST['zipcode']:addslashes($_GET['zipcode']);
$street = (isset($_POST['street']))? $_POST['street']:addslashes($_GET['street']);
$city = (isset($_POST['city']))? $_POST['city']:addslashes($_GET['city']);
$state = (isset($_POST['state']))? $_POST['state']:addslashes($_GET['state']);

assim não dá pau ao receber dados GET e POST ao mesmo tempo ou se receber POST ele não ficar um valor FALSO ;)

Ps.: Você é estrangeiro???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela dica de php , de fato eu quero é aplicar varios valores de INPUTs em um unico INPUT para colocar todo o form em uma unica linha como você deve ter notado no design de exemplo. Mas como n'ao fiz este tipo de script ainda , estou na duvida de como enviar as variaveis ao php. normalmente teriamos um form com tres ou quatro linhas, de INPUTs, cada um com uma $_POST no script para pegar as linhas no MySQL. N'ao sei se lhe expliquei de maneira clara. Quanto a sua ultima pergunta sou brasileiro mesmo, nasci e moro em Porto Alegre(RS).

 

Djalma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria melhor criar uma "função" em php para a busca certo?

Ai você passaria como parâmetro para a função a variável vinda dos inputs....

 

ai seria com php mesmo.. eu acho ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem eu não entendi bem mas se é varios input's em um só acredito que o que você queira depois é dividir esses valores em variaveis diferentes seria algo assim:

<?php
$var_b = explode(",",$_POST["varios"]);
for($i=0;4i<count($var_b);$i++){
if(trim($var_b[$i])!=""){
echo trim($var_b[$i]);
}
}
?>
<form action="">
<input type="hidden" value="a,b,c,d,e,f,g,h,j,k,l,m,n,o," name="varios">
<input type="submit" value="enviar">
</form>

agora se você quer capturar varios valores e aplicar a um unico input, você pode fazer isso:

<script>
function Elementos(){
var Inputs = document.getElementById("Inputs").getElementsByTagName("input");
var retorno = "";

for(var i=0;i<Inputs.length;i++){
retorno = retorno + "," + Inputs[i].value;
}

document.getElementById("varios").value = retorno;
}

window.onload = function(){
Elementos();
}
</script>

<fieldset id="Inputs">
<input value="valor">
<input value="valor">
<input value="valor">
<input value="valor">
<input value="valor">
<input value="valor">
<input value="valor">
<input value="valor">
<input value="valor">
<input value="valor">
</fieldset>

<input value="valor" id="varios" name="varios" type="text">

bem espero ter ajudado, se não for isso me avise ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.