最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Clear input box on click with Jquery - Stack Overflow

programmeradmin1浏览0评论

I have a simple code that I'm trying to wrok into my website to clear a textbox with a default value, when a user click on it, the default value should clear out so that the user can enter his/her value. Here is what I have but I'm not sure if its correct since its not working. I just started on JQuery

   $(document).ready(function()
  {
        $('#startDateBox').click(function()
        { 
            if(('#startDateBox')=='Beginning')

            {
             $('#startDateBox').val(''); 
            }

         })
   });​ 

I have a simple code that I'm trying to wrok into my website to clear a textbox with a default value, when a user click on it, the default value should clear out so that the user can enter his/her value. Here is what I have but I'm not sure if its correct since its not working. I just started on JQuery

   $(document).ready(function()
  {
        $('#startDateBox').click(function()
        { 
            if(('#startDateBox')=='Beginning')

            {
             $('#startDateBox').val(''); 
            }

         })
   });​ 
Share Improve this question edited Mar 11, 2013 at 18:44 Jason Braucht 2,36819 silver badges32 bronze badges asked Mar 11, 2013 at 18:43 Tuan NguyenTuan Nguyen 1976 gold badges11 silver badges20 bronze badges 6
  • Can you define what is 'not working'? – Iswanto San Commented Mar 11, 2013 at 18:45
  • Well, if(('#startDateBox')=='Beginning') will always be false... – Chad Commented Mar 11, 2013 at 18:46
  • When I debug it, when I click in the box, it doesn't clear out the default value, which is the word Begining. I feel like I'm missing something in my code – Tuan Nguyen Commented Mar 11, 2013 at 18:46
  • $('#startDateBox').val(), if 'beginning' is the text inside it.. – ssilas777 Commented Mar 11, 2013 at 18:47
  • 2 <input id="startDateBox" type="text" placeholder="Beginning" />, HTML5 has this built in ? – adeneo Commented Mar 11, 2013 at 18:48
 |  Show 1 more ment

5 Answers 5

Reset to default 3

You missed the first .val(), and the $ in front of the ('#startDateBox') on the same line. You could also use $(this) to reference the textbox, as within that function this refers to the textbox DOM element itself. Wrapping it with the jQuery function $() gives you access to all the framework's goodies.

$(document).ready(function()
{
    $('#startDateBox').click(function(){  
         if($(this).val() == 'Beginning')
                 ^^^^^^ Here
         {
             $(this).val(''); 
         }
    })
});​ 

You're wrong in this part:

 if(('#startDateBox')=='Beginning')

First, you missing $. Second, I think you want pare the startDateBox value, then use val().

Try this:

 $(document).ready(function()
  {
        $('#startDateBox').click(function()
        { 
            if($('#startDateBox').val()=='Beginning')
            {
             $('#startDateBox').val(''); 
            }
         })
   });​ 

Well, if(('#startDateBox')=='Beginning') will always be false...

I think you meant something more like:

if($('#startDateBox').val() == 'Beginning')

I wrote a very small jquery plugin for this purpose recently:

https://gist.github./rmcvey/5136582

$('#input').placeholder("Placeholder Text");

if($('#input').val() === $('#input').placeholder()){ return false; }

I would suggest for HTML5 browsers use this

 <input type="text" id="Beginning" placeholder="Beginning"  />

if($('#startDateBox').val() =='Beginning')

this is the line that needs to be changed

also

        $('#startDateBox').on("focus", function()
        { 
          // code here

the click will not handle hitting tab until that text box is focused

发布评论

评论列表(0)

  1. 暂无评论