gajones76
asked on
Cannot get form field to clear when clicked
I have a phplist subscribe form in the top right of this site:
http://www.mokitaproductions.org/index.php?page=home
I'm trying to make the text "enter your email" disappear when the form field is clicked. This should be relatively straightforward, but I can't get it to work.
The javascript I'm using is at:
http://www.mokitaproductions.org/list/clearformfield.js
The form code is attached below.
http://www.mokitaproductions.org/index.php?page=home
I'm trying to make the text "enter your email" disappear when the form field is clicked. This should be relatively straightforward, but I can't get it to work.
The javascript I'm using is at:
http://www.mokitaproductions.org/list/clearformfield.js
The form code is attached below.
<form method="post" action="http://www.mokitaproductions.org/list/?p=subscribe" name="signup" target="windowName" onsubmit="window.open('', this.target,
'dialog,modal,scrollbars=no,resizable=no,width=500,height=250,left=0,top=0');">
<table border="0">
<tbody>
<tr>
<td class="email-box">
<div align="center">
<input name="email" id="email" value="enter your email" size="20" onfocus="clearField(this)" type="text" />
<script language="Javascript" type="text/javascript">
addFieldToCheck("email","Email");</script>
</div>
</td>
<td class="attributeinput"> </td>
<td class="submit"><input class="formInputButton" name="subscribe" value="join mailing list" onclick="return checkform();" type="submit" /></td>
</tr>
<input name="htmlemail" value="1" type="hidden" />
</tbody>
</table>
<input name="list[2]" value="signup" type="hidden" /><input name="listname[2]" value="Mokita" type="hidden" />
<div style="display: none">
<input name="VerificationCodeX" size="20" type="text" />
</div>
</form>
ASKER
thanks Graham. I have put your code into the form on this page only:
http://www.mokitaproductions.org/index.php?page=home
but, for some reason it is still not working....
http://www.mokitaproductions.org/index.php?page=home
but, for some reason it is still not working....
You have part of the script missing...
should be:
onFocus="if(this.value=='e nter your email') { this.value='' }"
where the '' after the = in value are two single quotes.
should be:
onFocus="if(this.value=='e
where the '' after the = in value are two single quotes.
The reason that the function that you used didn't work, is that you didn't specify the defaultValue argument that it uses:
<input name="email" id="email" value="enter your email" defaultValue="enter your email" size="20" onfocus="clearField(this)" type="text" />
Regardning the code that you are using now:
change
<input name="email" id="email" value="enter your email" size="20" onfocus="if(this.value=='e nter your email') " type="text" />
to
<input name="email" id="email" value="enter your email" size="20" onfocus="if(this.value=='e nter your email') { this.value=''; }" type="text" />
<input name="email" id="email" value="enter your email" defaultValue="enter your email" size="20" onfocus="clearField(this)"
Regardning the code that you are using now:
change
<input name="email" id="email" value="enter your email" size="20" onfocus="if(this.value=='e
to
<input name="email" id="email" value="enter your email" size="20" onfocus="if(this.value=='e
ASKER
thanks. however it still doesn't work:
http://www.mokitaproductions.org/index.php?page=form-test
the first time I load that page, the following error is displayed:
string(131) "Smarty error: [in globalcontent:mailinglist line 8]: syntax error: unrecognized tag: this.value='' (Smarty_Compiler.class.php , line 446)" string(119) "Smarty error: [in globalcontent:mailinglist line 8]: syntax error: unrecognized tag '' (Smarty_Compiler.class.php , line 590)"
Subsequent reloads of the page remove the error, but also strip out the offfending code from the form:
{ this.value=''; }"
I'm using cmsmadesimple and wonder whether that has something to do with it. Whether i put the code directly into the page or in a content block the result is the same.
http://www.mokitaproductions.org/index.php?page=form-test
the first time I load that page, the following error is displayed:
string(131) "Smarty error: [in globalcontent:mailinglist line 8]: syntax error: unrecognized tag: this.value='' (Smarty_Compiler.class.php
Subsequent reloads of the page remove the error, but also strip out the offfending code from the form:
{ this.value=''; }"
I'm using cmsmadesimple and wonder whether that has something to do with it. Whether i put the code directly into the page or in a content block the result is the same.
The system that you are using uses brackets, which is unfortunate, as Javascript does too.
Fortunately, you don't need the brackets in this Javascript:
<input name="email" id="email" value="enter your email" size="20" onfocus="if(this.value=='e nter your email') this.value='';" type="text" />
Fortunately, you don't need the brackets in this Javascript:
<input name="email" id="email" value="enter your email" size="20" onfocus="if(this.value=='e
ASKER
thanks for that. In the end I found there is a {literal} tag in the CMS that you can wrap around to preserve the code.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Open in new window