Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

134
Visualizações
Cómo enviar datos desde dos entradas usando el botón

Aquí está el HTML que tengo actualmente:

 <div class="location"> <div class="first-line"> <i id="Icon1" class="fas fa-map-marker"></i> <input class="location-input" placeholder="Miejscowość lub kod pocztowy"> <div class="vertical-line"></div> <p class="gps-button"><i id="Icon2" class="fas fa-map-marker"></i></p> </div> <div class="second-line"> <input class="zakres-input" placeholder="Promień wyszukiwań (km)"> </div> <button class="fm-button" type="submit">Znajdz Mecz</button> </div>

Lo que quiero hacer es obtener valores de ambas entradas. Tengo que enviarlos más tarde a mi backend usando FetchApi. Soy bastante nuevo en JavaScript y realmente no sé cómo manejarlo (sé cómo usar fetch , pero no cómo obtener las entradas). ¿Es posible que un botón envíe esto, o tengo que obtener estos datos por separado de las entradas? Esto es lo que traté de hacer:

 const search1 = document.querySelector('input[placeholder="Miejscowość lub kod pocztowy"]'); const search2 = document.querySelector('input[placeholder="Promień wyszukiwań (km)"]'); const button = document.querySelector('button[class="fm-button"]'); button.addEventListener("click", function(){ const data1 = {search1: this.value}; const data2 = {search2: this.value}; //alert("data1"); //console.log(data1); });
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Dentro de un controlador de eventos DOM, this se refiere al objeto DOM que activó el evento. En su caso, ese es el button , por lo que al intentar obtener this.value , obtiene el valor del button , no los elementos de input .

Además, debido a que está almacenando los value en los object , necesita acceder a la propiedad del objeto que tiene los datos.

 const search1 = document.querySelector('input[placeholder="Miejscowość lub kod pocztowy"]'); const search2 = document.querySelector('input[placeholder="Promień wyszukiwań (km)"]'); const button = document.querySelector('button[class="fm-button"]'); button.addEventListener("click", function(){ // Don't get "this".value (which is the button) // Get the value from the DOM objects (the input elements) const data1 = {search1: search1.value}; const data2 = {search2: search2.value}; // Access the data via the object property you stored it in console.log(data1.search1, data2.search2); });
 <div class="location"> <div class="first-line"> <i id="Icon1" class="fas fa-map-marker"></i> <input class="location-input" placeholder="Miejscowość lub kod pocztowy"> <div class="vertical-line"></div> <p class="gps-button"><i id="Icon2" class="fas fa-map-marker"></i></p> </div> <div class="second-line"> <input class="zakres-input" placeholder="Promień wyszukiwań (km)"> </div> <button class="fm-button" type="submit">Znajdz Mecz</button> </div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede obtener el valor de un elemento de entrada accediendo a su atributo de value .

Así que en este caso search1.value y search2.value

 const search1 = document.querySelector('input[placeholder="Miejscowość lub kod pocztowy"]'); const search2 = document.querySelector('input[placeholder="Promień wyszukiwań (km)"]'); const button = document.querySelector('button[class="fm-button"]'); button.addEventListener("click", function(){ //Don't run anything if any of the values are undefined if(!search1.value || !search2.value) return //Now we collect our data const data = {data1: search1.value, data2: search2.value} //Then we can send out a post request example with axios, //but any method of sending requests will work axios.post("https://placeholder.com/myendpoint", data) .then((res) =>{ //Log the response console.log(res.data) }) .catch((err) =>{ //Throw error if there's an error if(err) throw err }) });

Seguro que recomendaría axios sobre fetchApi.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda