I am working on a search with JavaScript. I would use a form, but it messes up something else on my page. I have this input text field:
<input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>
And this is my JavaScript code:
<script type="text/javascript">
function searchURL(){
window.location = "http://www.myurl.com/search/" + (input text value);
}
</script>
How do I get the value from the text field into JavaScript?
There are various methods to get an input textbox value directly (without wrapping the input element inside a form element):
Method 1
document.getElementById('textbox_id').valueto get the value ofdesired box
For example
document.getElementById("searchTxt").value;Note: Method 2,3,4 and 6 returns a collection of elements, so use [whole_number] to get the desired occurrence. For the first element, use
[0],for the second one use
[1], and so on…Method 2
Use
document.getElementsByClassName('class_name')[whole_number].valuewhich returns a Live HTMLCollectionFor example
document.getElementsByClassName("searchField")[0].value;if this is the first textbox in your page.Method 3
Use
document.getElementsByTagName('tag_name')[whole_number].valuewhich also returns a live HTMLCollectionFor example
document.getElementsByTagName("input")[0].value;, if this is the first textbox in your page.Method 4
document.getElementsByName('name')[whole_number].valuewhich also >returns a live NodeListFor example
document.getElementsByName("searchTxt")[0].value;if this is the first textbox with name ‘searchtext’ in your page.Method 5
Use the powerful
document.querySelector('selector').valuewhich uses a CSS selector to select the elementFor example
document.querySelector('#searchTxt').value;selected by iddocument.querySelector('.searchField').value;selected by classdocument.querySelector('input').value;selected by tagnamedocument.querySelector('[name="searchTxt"]').value;selected by nameMethod 6
document.querySelectorAll('selector')[whole_number].valuewhich also uses a CSS selector to select elements, but it returns all elements with that selector as a static Nodelist.For example
document.querySelectorAll('#searchTxt')[0].value;selected by iddocument.querySelectorAll('.searchField')[0].value;selected by classdocument.querySelectorAll('input')[0].value;selected by tagnamedocument.querySelectorAll('[name="searchTxt"]')[0].value;selected by nameSupport
Key:
IE=Internet Explorer
FF=Mozilla Firefox
GC=Google Chrome
Useful links