I am trying this:
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
with some javascript to check whether the enter key is pressed:
function search() {
if(event.keyCode == 13) {
alert("should get the innerHTML or text value here);
}
}
this works fine at the moment, but my question how to get the value inside the text field, I was thinking of passing a reference "this" to the function, or if they had id's then I could use ID's but then I don't see how I could differentiate between which one has been typed, bringing my back to the same problem again...
Try this:
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
JS Code
function search(ele) {
if(event.key === 'Enter') {
alert(ele.value);
}
}
DEMO Link
$("input").on("keydown",function search(e) {
if(e.keyCode == 13) {
alert($(this).val());
}
});
jsFiddle example : http://jsfiddle.net/NH8K2/1/
Just using the event object
function search(e) {
e = e || window.event;
if(e.keyCode == 13) {
var elem = e.srcElement || e.target;
alert(elem.value);
}
}
You should not place Javascript code in your HTML, since you're giving those input a class ("search"), there is no reason to do this. A better solution would be to do something like this :
$( '.search' ).on( 'keydown', function ( evt ) {
if( evt.keyCode == 13 )
search( $( this ).val() );
} );
Something like this (not tested, but should work)
Pass this as parameter in Html:
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
And alert the value of the parameter passed into the search function:
function search(e){
alert(e.value);
}