For instance, I know that it is possible to do something in Javascript that allows users to update text based on user text input:
<script type="text/javascript">
function changeText2(){
var userInput = document.getElementById('userInput').value;
document.getElementById('boldStuff2').innerHTML = userInput;
}
</script>
<p>Welcome to the site <b id='boldStuff2'>dude</b> </p>
<input type='text' id='userInput' value='Enter Text Here' />
<input type='button' onclick='changeText2()' value='Change Text'/>
View the above code in action at: tizag.com/javascriptT/javascript-innerHTML.php
However, instead of the above code, I would like to know if it's possible to do something similar for a url link. Below I've placed a step by step example of what I would like to happen upon the user inputing text:
Original Link: http://www.google.com/search?q=
User Input in Text Field: espn
User clicks button to submit text in text field
Final Link: http://www.google.com/search?q=espn
Thanks for your help...BTW...if you can't tell I'm a bit of a novice so detail is appreciated.
This is the solution I deviced in a matter of seconds:
No complex javascript, no extra quotes nor functions required. Simply edit the ID tag to your needs and it works perfectly.
You could try this;
Check it out here
#1: you need some forms
#2: you need to catch when the form is submitted
#3: based on the form's submission change the url
Here is a demo: http://jsfiddle.net/maniator/K3D2v/show/
here is the code: http://jsfiddle.net/maniator/K3D2v/embedded/
HTML:
JS:
Here's one in plain JS that updates as you type:
Note:
no inline event handler attributes (they are best avoided);
assigning both keyup and change, to try to get keyboard updates as they happen and ensure that all other updates get caught eventually;
the use of
encodeURIComponent()
, necessary in case the search term has any non-ASCII or URL-special characters in;setting the
search
property of a Location (link) object to avoid having to write out the whole URL again;setting the
data
of the Text node inside the link to reflect the full URL afterwards. Don't setinnerHTML
from user input as it may have HTML-special characters like&
and<
in.I'd suggest using a cross browser library such as jQuery rather than straight JavaScript. With jQuery, you'd add a click handler for your button, grab the value of the input, build your URL, and set window.location to go to the new url
jsFiddle
HTML
JavaScript