Solved

What is the syntax for passing a javascript variable to an HTML input box?

Posted on 2011-09-20
10
295 Views
Last Modified: 2012-05-12
I'm capturing a localStorage variable that contains a previously entered email address from another page. Upon the entry of this page I want to show the email address as the 'default' value in the text box.

I need to know the syntax of value=variable in the input statement. Here is the HTML code:

<script type="text/javascript">
  var tmpEMAdd = localStorage.EMAdd;
</script>
            
<form action="">
   <fieldset>
     <input type="text" id="txtsea" size=50 value=tmpEMAdd autofocus/><br />
     <input type="button" value=" Save " onClick="setValue()"/>
   </fieldset>      
</form>
0
Comment
Question by:kbios
  • 5
  • 3
  • 2
10 Comments
 
LVL 11

Expert Comment

by:rajvja
ID: 36568067
<script type="text/javascript">
  var tmpEMAdd = localStorage.EMAdd;
txtsea.value=tmpEMAdd;
</script>
           
<form action="">
   <fieldset>
     <input type="text" id="txtsea" size=50  autofocus/><br />
     <input type="button" value=" Save " onClick="setValue()"/>
   </fieldset>      
</form>
0
 

Author Comment

by:kbios
ID: 36568145
Thanks for the suggestion but txtsea.value option did not work. The value was an empty input box. Wouldn't txtsea need created first? I'm hoping for something like value=[var] or value=$var or value={var}. I just don't know the syntax of passing the previously declared variable.
0
 
LVL 11

Expert Comment

by:rajvja
ID: 36568157
Hi,

  Use the script tag inside the <BODY> tag.

Otherwise HEAD section will execute first and by that time form controls will not be created.
0
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
LVL 11

Expert Comment

by:rajvja
ID: 36568169
And also, .HTML file will be reloaded everytime you click the button. It will not preserve any form controls values. If you want this functionality, you need to use either submitting the form to the same page and use querystrings to preserve the values
0
 

Author Comment

by:kbios
ID: 36568221
The script tag is inside the <body>. I'm ok with it not preserving any form control values. In this case that is what I want. I simply want to 'pre-load' or 'default' the input box with a value that is stored in a localStorage variable. Perhaps I am thinking incorrecly, but isn't there a way to simply pass a variable to the value, or any other attribute for that matter?
0
 
LVL 22

Accepted Solution

by:
Kim Walker earned 500 total points
ID: 36568248
The script should come after the form in the HTML or else the input tag won't be defined when the script is executed.

<form action="">
	<fieldset>
		<input type="text" id="txtsea" size=50 value="" autofocus /><br />
		<input type="button" value=" Save " onClick="setValue()" />
	</fieldset>      
</form>
< script type="text/javascript">
	document.getElementById('txtsea').value = localStorage.EMAdd;
</script>

Open in new window

0
 

Author Comment

by:kbios
ID: 36568307
mediaman - thank you. i will accept your answer as the solution. your answer definitely works, but i am still in a quandry about passing a variable to the vlaue in the input. can it be done or is my approach just simply not going to work? any follow-up thought would be greatly appreciated.
0
 

Author Closing Comment

by:kbios
ID: 36568314
thanks
0
 
LVL 22

Expert Comment

by:Kim Walker
ID: 36568396
The alternative is not very pretty. It's necessary to interupt the HTML parser to execute the javascript which can't be done in the middle of a tag. But the javascript could be set up to generate the entire input tag. This way, you can leave your variable definition in the head.

<form action="">
	<fieldset>
		< script type='text/ecmascript'>document.write('<input type="text" id="txtsea" size=50 value="'+tmpEMAdd+'" autofocus />');</script>
<br />
		<input type="button" value=" Save " onClick="setValue()" />
	</fieldset>      
</form>

Open in new window

0
 

Author Comment

by:kbios
ID: 36568449
wow!  thanks so much for the follow through. it helps with the overall educational process.
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
HTML5 storage and web apps 11 50
javascript form - error when hitting enter 3 28
HTML editor custom button 3 60
title attribute 5 27
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question