Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   HTML (http://www.velocityreviews.com/forums/f31-html.html)
-   -   problems prepopulating text fields (http://www.velocityreviews.com/forums/t237148-problems-prepopulating-text-fields.html)

brian.newman@wpafb.af.mil 05-03-2006 02:07 PM

problems prepopulating text fields
 
I've written code like the following
<script language="javascript">
function populateTextField(strWidget, strInitialData) {
var elem = (document.getElementById) ?
document.getElementById(strWidget) : ((document.all) ?
document.all(strWidget) : null);
if (elem) {
elem.value = strInitialData;
}
}

function initForm() {
populateTextField ("txtDateOfRank", " - - ");
}
</script>
<body onload="initForm();">
<form NAME="frmAttendeeInfo" id="frmAttendeeInfo">
<div id="divDateOfRank">
<p>Date of Rank</p>
<INPUT TYPE="text" NAME="txtDateOfRank" id="txtDateOfRank" SIZE="8"
MAXLENGTH="8"> <!-- in form dd-mm-yy -->
</div>
</form>
</body>

The value is assigned to the text field correctly upon page load, but
once the page is loaded, I can't change the value in the text field.
Nothing happens. The javascript consol in Firefox doesn't report an
error.
It seems like once the value is assigned via a "value = " in html, it
prevents any further changes to the text field. I'm having the same
problem in IE. If this is the case, then I've got a problem with the
html. Does anyone know what the fix is?


Martin Jay 05-03-2006 03:00 PM

Re: problems prepopulating text fields
 
In message <1146665234.549986.145390@u72g2000cwu.googlegroups .com>,
"brian.newman@wpafb.af.mil" <brian.newman@wpafb.af.mil> writes
>I've written code like the following
><script language="javascript">
>function populateTextField(strWidget, strInitialData) {
> var elem = (document.getElementById) ?
>document.getElementById(strWidget) : ((document.all) ?
>document.all(strWidget) : null);
> if (elem) {
> elem.value = strInitialData;
> }
>}
>
>function initForm() {
> populateTextField ("txtDateOfRank", " - - ");
>}
></script>
><body onload="initForm();">
><form NAME="frmAttendeeInfo" id="frmAttendeeInfo">
> <div id="divDateOfRank">
> <p>Date of Rank</p>
> <INPUT TYPE="text" NAME="txtDateOfRank" id="txtDateOfRank" SIZE="8"
>MAXLENGTH="8"> <!-- in form dd-mm-yy -->
> </div>
></form>
></body>
>
>The value is assigned to the text field correctly upon page load, but
>once the page is loaded, I can't change the value in the text field.
>Nothing happens. The javascript consol in Firefox doesn't report an
>error.
>It seems like once the value is assigned via a "value = " in html, it
>prevents any further changes to the text field. I'm having the same
>problem in IE. If this is the case, then I've got a problem with the
>html. Does anyone know what the fix is?


Works okay here, but it seems like a lot of effort to go to.

Perhaps the problem you're seeing is that the maxsize of the input box
is 8 and you also populate it with 8 characters, so the only way to edit
the input is to delete what's already in it.

To get a date I'd simply use something like this:

<form>
<input name="day" type="text" >
<select name="month">
<option value="1">January</option>
<option value="2">February</option>
<!-- etc... -->
</select>

<input name="year" type="text">

<input type="submit"
</form>

Perhaps you're trying to achieve something more complicated?
--
Martin Jay

brian.newman@wpafb.af.mil 05-03-2006 06:02 PM

Re: problems prepopulating text fields
 
I want a textbox which has " - - " in it. If the first character
the user types in the text field is "1", then the text field will
change to "1 - - ". If the first two characters the user types in
the field are " 1", then the text field will change to " 1- - ". If
the first three characters the user types are " 11", then the text
field will change to " 1-1 - " and so forth.
I'd like to stay away from select tags if possible in this case since,
in my opinion, it takes more time for a user to use three drop down
list (one for the year, one for the month, and one for the day) than it
does for the user to type the six characters of text.



All times are GMT. The time now is 07:35 AM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.