2016-04-26 4 views
0

Ich habe diesen Eingang I in einem anderen Controller verwenden möchten:"Uncaught Typeerror: Illegale Invocation" in einer JavaScript-Methode

<li><input type="text" placeholder="Buscar" id="idnavBusqueda" name="navBusqueda"></li> 
<li><a href="#" onclick="guardar()">Buscar</a></li> 

Und Dafür habe ich die Methode guardar():

function guardar() { 
       console.log("HOLAAAAAAAAAAAAAAAA"); 
       var userAmigo= document.getElementById("idnavBusqueda"); 
       $('#idnavBusqueda').load("/perfilBusqueda",{navBusqueda:  userAmigo}); 
      } 

Aber jedes Mal, wenn ich auf den "Buscar" -Button klicke, sendet Chrome den Fehler und es wird einfach auf den href auf "buscar" umgeleitet. Ich benutze auch Spring, wenn das relevant ist. Was ist falsch?

Antwort

1

Der zweite Parameter in .load() können Sie zusätzliche Daten an den Server senden, wenn Sie den Antrag stellen. In Ihrem Fall versuchen Sie, ein Element userAmigo als POST-Wert zu senden, der nicht funktioniert.

Stattdessen möchten Sie wahrscheinlich den Wert zugeordnet mit userAmigo.

$('#idnavBusqueda').load('/perfilBusqueda', { 
    navBusqueda: userAmigo.value 
}); 
+0

Dies funktionierte, Ill validieren Sie, weil Sie schneller waren, aber beide Antworten sind korrekt. Obwohl ich jetzt Fehler 500 erhalte, denke ich, dass das für eine andere Frage ist. – dari1495

1

Sie sagen jQuery, ein HTMLElement zu serialisieren. Sie wollten wahrscheinlich seine Wert:

var userAmigo= document.getElementById("idnavBusqueda").value; 
// ----------------------------------------------------^^^^^^ 
Verwandte Themen