2011-09-10 120 views
0

我正试图找到一个脚本,它将填充一个文本字段,例如用填充您的电子邮件地址等文本填充optin表单,并在点击时消失。我知道他们都在网络上,但搜索它只返回JavaScript自动填充脚本,其中的建议从文本框下方的下拉列表中列出。预填充文本字段的脚本

回答

0

这是我在我的网站Expiringlinks.co上使用的。现在,如果您只想将其应用于一个输入,请将$('input')更改为$('#yourinputid')。输入字段应该有一个等于您之前的文本的值字段。

var tempValue=''; 
    $('input').click(function(){ 
     tempValue = $(this).attr('value'); 
     $(this).attr('value',''); 

    }); 

    $('input').focusout(function(){ 
     if ($(this).attr('value')==''){ 
     $(this).attr('value',tempValue); 
     } 


    }); 

对于你输入字段

<input type="text" value="Whatever you want to show before the click" /> 
+0

是的!正是我所期待的,非常感谢。 – Immers

+0

@the_visit您是否希望每次单击该文本框时都会清空该文本框?例如。在框中点击,输入内容,点击,然后再次点击 - 它会再次变成空白 - 你想不想?只是检查:) – Joe

+0

@joe - 甚至没有越过我的想法是诚实的。我认为这很好。我很感激你问我。也许这对我的大脑来说是一个很好的锻炼:-) – Immers

0

jsFiddle example

或者说,一个稍微不同的fiddle不需要在标签上的ID,但是需要文本框/标签被包裹在东西,例如<p>标签。

HTML

<input type="text" name="email_address" id="Email" /> 
<label for="Email" id="EmailLabel">Please enter your email address</label> 

CSS

label 
{ 
    display: none; 
} 

jQuery的

$(document).ready(function() 
{ 
    $('#Email').focus(function() 
    { 
     $('#EmailLabel').show(); 
    }).blur(function() 
    { 
     $('#EmailLabel').hide(); 
    }); 
}); 
+0

好东西也在这里,我正在收藏这本书以备后用。 – Immers

+0

@the_visit另一种选择,只是为了它的乐趣:) http://jsfiddle.net/ShtxJ/好的,我现在完成了。 – Joe

+0

这真是太棒了,肯定会很快用到它,这是我的项目更详细的时间 – Immers

2

支持HTML5占位符文本,您可以使用这样

<input name="email" placeholder="Enter your email address" /> 

当您单击文本框时,它会自动消失。对于旧版浏览器,您可以使用上述建议之一。