Jump to content
Bobrinha

Adicionar resultado de um innerhtml dentro de um link atributo href é possível?

Recommended Posts

Olá a todos.

 

Tenho uma dúvida e não sei se é possível caso tenha alguma sugestão por favor avise.

 

Adicionar resultado de um innerhtml dentro de um link atributo href é possível? ou seja eu tenho um input onde seleciono um ano 

 

<select id="ano">
  <option selected>2019</option>
  <option value="2018">2018</option>
  <option value="2017">2017</option>
</select>

<div id="anoAtual"></div>  

No query pego o valor ou seja o ano selecionado e jogo no html

 

$("select").change(function () {
        document.getElementById("ano").innerHTML = document.getElementById("anoAtual").value;
    });

 

Agora vem a dúvida como eu jogo na URL? existe uma outra forma? é possível?

 

<a href='resultado.php&ano=COMO JOGAR O ANO AQUI?'>

 

 

Share this post


Link to post
Share on other sites
$("#ano").on('change', function () {
        $("#anoAtual").href('resultado.php?ano=' + $(this).val());
});

Share this post


Link to post
Share on other sites

Obg por responder William.

 

É possível jogar no HTML? ou seja diretamente na href sem ser dentro da função, ou somente dentro da função como no exemplo?

Share this post


Link to post
Share on other sites

vc precisa usar javascript.

 

uma forma é fazer inline:


 

<select id="ano" onchange="document.getElementById('link').href = this.value">
  <option selected>2019</option>
  <option value="2018">2018</option>
  <option value="2017">2017</option>
</select>

<div id="anoAtual"></div>  



<a href="" id="link">

 

Share this post


Link to post
Share on other sites

O comportamento que você está descrevendo também pode ser obtido sem o uso de JavaScript:

<form action="resultado.php">
  <select name="ano"><!-- o atributo name é o nome do parâmetro que será acrescentado automaticamente ao "action" do formulário ao submetê-lo -->
    <option>2019</option><!-- as tags option podem ser usadas sem o atributo value quando os valores a serem exibidos são idênticos aos valores a serem enviados -->
    <option>2018</option>
    <option>2017</option>
  </select>
  <button type="submit">Ver resultado</button><!-- o fundo e bordas do botão podem ser removidos facilmente com CSS -->
</form>

 

Share this post


Link to post
Share on other sites

Olá, William 

 

O problema é que assim altera o link todo, existe alguma possibilidade de ter algo já dentro do link e só acrescentar o ano? 

 

Por exemplo o conteúdo dentro link seria algo href="http://site.com/categoria/ano/AQUI O ANO"

 

Ou seja adicionar sem modificar o link existente somente acrescentar no link que ja existe o ano

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By quimera
      O problema seria simples se o script da página permitisse o autopreenchimento usando javascript, masssssssssssss...
      O site em questão não permite que o campo seja preenchido dinamicamente ou seja usando script (ele identifica a digitação do teclado para impedir isso)
      Eles devem usar algo como: onkeypress ou onkeyup e acumular os valores digitados numa variável para dispor isso no post/get
      Por que nesse caso, se foi simplesmente colado ou preenchido via script não vai aceitar já que provavelmente é acumulativo e não verificado se o campo foi preenchido.
      Então como preencher dinamicamente o campo usando javascript nesse caso?
    • By AndersonWS
      Boa tarde, já tentei muitas formas mas não consigo retirar o atributo required.
      O resultado que eu preciso é, quando retiro o required de um (name="posicao") o outro fica com required e vice-versa e também um aparece e outro some.
       
      Segue o código HTML.
      <select name="posicao" class="form-control option_escolhida" style="display:none" id="2" required="" disabled> <option value="" selected>Selecione</option> <option value="1">Espaco</option> <option value="2">Cursos</option> </select> <select name="posicao" class="form-control option_escolhida" style="display:none" id="4" required="" disabled> <option value="" selected>Selecione</option> <option value="4">Políticas de privacidade</option> </select> <div class="sem_option"><code>Sem posição definida</code></div> <div class="ini_option"><code>Posição inicial</code></div> <div class="main_option" style="display:none"> <input name="apelido" class="form-control apelido" placeholder="Nome do grupo" type="text" required="" disabled> </div> Segue o código javascrpt:
      $('.select_escolhida').on({change: listChildren}).trigger('change'); function listChildren() { if ( $(this).val() != '' ) { children = $('option').val(); $(".ini_option").show(); $(".option_escolhida").hide(); $(".option_escolhida").attr("disabled", true); $("#" + $(this).val() ).show(); $("#" + $(this).val() ).removeAttr("disabled"); $(".sem_option").hide(); if( ($(this).val() == '1')||($(this).val() == '3') ){ $(".main_option").show(); $(".apelido").removeAttr("disabled"); } else { $(".main_option").hide(); $(".apelido").attr("disabled", true); $(".ini_option").hide(); } } else { $(".sem_option").show(); $(".ini_option").hide(); $(".apelido").hide(); } }  
    • By Sapinn
      Tenho um form que pergunto o nome, sobrenome, email, idade e telefone de contato. Como faço para verificar se o email digitado já foi cadastrado e retorna na mesma pagina uma mensagem caso ele ja existe ou prosseguir para a area do usuario caso ele não exista sem da refresh na página.
    • By gersonab
      Bom dia, tenho 2 tabelas editáveis em uma div, estas funcionam normalmente, o problema é que o loop não acontece , só carrega sobre 1 item, sendo que este eu posso ter mais itens.
       na página principal tenho:
      <div class="carregadados"></div> function fetch_data() { $.ajax({ url:"../lista/finan.php", method:"POST", success:function(data){ $('.carregadados').html(data); } }); } fetch_data(); a página a ser carregada esta assim:
      <?php session_start(); require_once('config.php'); $output = ''; $idc1=$_SESSION['idc']; $sql01 = "SELECT * FROM porcent WHERE idfcli='$idc1'"; $result = mysqli_query($con, $sql01); while($user41 = mysqli_fetch_array($result)){ // primeiro while onde seleciono os itens da pessoa podendo ter vários $output .= ' <div class="table-responsive mb-4 mt-4"> Aqui vem os dados da pessoa '; $id1= $user41["idproc"]; $sqladv = "SELECT * FROM poradv WHERE procav='$id1'"; $resulta = mysqli_query($con, $sqladv); $output .= ' <table class="table table-bordered table-hover table-striped" style="width:100%"> <thead> <tr> </tr> </thead> <tbody>'; if(mysqli_num_rows($resulta) > 0) { while($usera = mysqli_fetch_array($resulta)){ //segundo while onde tenho os dados de venda em uma tabela editavel $output .= ' <tr> </tr>'; } $output .= ' <tr> // insiro linhas caso precise </tr> '; } else { $output .= '<tr> // caso não tenha nada inserido, posso fazer por aqui </tr> '; } $output .= '</tbody> </table>'; $id2= $user41["idproc"]; $sql = "SELECT * FROM parcelas WHERE procid='$id2' ORDER BY datapar, idpar ASC"; $result = mysqli_query($con, $sql); $output .= ' <table class="table table-bordered table-hover table-striped" style="width:100%"> <thead> <tr> // tabela de pagamentos editavel </tr> </thead> <tbody>'; if(mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_array($result)) { //terceiro while , tabela referente a pagamentos $output .= ' <tr> // tabela pagamentos </tr>'; } $output .= ' <tr> // insiro linhas caso precise </tr> '; } else { $output .= '<tr> // caso não tenha nada inserido, posso fazer por aqui </tr> '; } $output .= '</tbody> </table> </div> '; } echo $output; ?> só esta carregando uma vez , tudo dentro da parte editável esta funcionando, porém no primeiro while só faz 1 loop, os demais estão funcionando perfeitamente.
      desde já agradeço qualquer ajuda.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.