Ir para conteúdo

POWERED BY:

Arquivado

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

tony_lu

URL Amigavel no envio de formulario

Recommended Posts

Ola pessoal, tenho uma duvida, tenho um formulario com 2 selects de cidade e categorias, a função abaixo faz com que no envio do formulario a url do action seja amigavel com a cidade e categoria enviada:

 

(function(){
  $('.submit').on('click', function(e){
    var t = $(this);
    var form = $("#formImasters");
    var base = "http://site.com.br/"; //deixe em branco, nao precisa preencher, se possivel remova essa variavel
    var final = "";
    
    var categoria  = generateURL(form.find('#categoria').find(":selected").text());
    
    var cidade  = generateURL(form.find('#cidade').find(":selected").text());
    


    final = base + categoria + "/" + cidade;
    
    form.attr('action', final);
  });
  
  function generateURL(str) {
    return removeAccents(str.toLowerCase().replace("- ", "").replace(/\s/g, "-").replace(",", ""));
  }
  
   function removeAccents(strAccents) {
var strAccents = strAccents.split('');
var strAccentsOut = new Array();
var strAccentsLen = strAccents.length;
var accents = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž';
var accentsOut = "AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz";
for (var y = 0; y < strAccentsLen; y++) {
if (accents.indexOf(strAccents[y]) != -1) {
strAccentsOut[y] = accentsOut.substr(accents.indexOf(strAccents[y]), 1);
} else
strAccentsOut[y] = strAccents[y];
}
strAccentsOut = strAccentsOut.join('');
return strAccentsOut;
}
  
})();

Só que agora estou mudando o formulario, agora será digital ou seja um input text e não mais select, e não estou conseguindo usar essa função, essa parte do codigo deve ser responsavel em pegar os valores:

    var categoria  = generateURL(form.find('#categoria').find(":selected").text());
    
    var cidade  = generateURL(form.find('#cidade').find(":selected").text());

Alguem pode me ajudar nessa?!

 

Obrigado!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

para input text, você pode usar assim:

 

var categoria  = generateURL(form.find('#categoria').val());

Compartilhar este post


Link para o post
Compartilhar em outros sites

para input text, você pode usar assim:

 

var categoria  = generateURL(form.find('#categoria')val());

 

Faltou o ponto antes do val();

var categoria  = generateURL(form.find('#categoria').val());

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.