J'essaye ceci:
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
avec du javascript pour vérifier si la touche entrée est enfoncée:
function search() {
if(event.keyCode == 13) {
alert("should get the innerHTML or text value here);
}
}
cela fonctionne bien pour le moment, mais ma question était de savoir comment obtenir la valeur dans le champ de texte. Je pensais passer une référence "this" à la fonction. Sinon, je pourrais utiliser un identifiant, mais je ne le ferais pas. Voyez comment je pourrais distinguer celui qui a été tapé, ce qui me ramène au même problème ...
Essaye ça:
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
Code JS
function search(ele) {
if(event.key === 'Enter') {
alert(ele.value);
}
}
$("input").on("keydown",function search(e) {
if(e.keyCode == 13) {
alert($(this).val());
}
});
exemple jsFiddle: http://jsfiddle.net/NH8K2/1/
Juste en utilisant l'objet événement
function search(e) {
e = e || window.event;
if(e.keyCode == 13) {
var elem = e.srcElement || e.target;
alert(elem.value);
}
}
Vous ne devez pas placer de code Javascript dans votre code HTML, car vous donnez une classe à ces entrées ("recherche"), il n'y a aucune raison de le faire. Une meilleure solution serait de faire quelque chose comme ceci:
$( '.search' ).on( 'keydown', function ( evt ) {
if( evt.keyCode == 13 )
search( $( this ).val() );
} );
Quelque chose comme ça (non testé, mais devrait fonctionner)
Passez ceci comme paramètre en HTML:
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
Et alertez la valeur du paramètre passé dans la fonction de recherche:
function search(e){
alert(e.value);
}