2012-10-15 98 views
1

我有一個HTML表單,其中包含用戶名,密碼&職業。如果職業碰巧是一名學生,那麼我使用JavaScript創建一個新框來輸入用戶大學的電子郵件。這工作正常&我也能夠水印的用戶名和密碼框。但是,當新的大學郵箱顯示我無法給它加水印。我不明白爲什麼。無法在html中輸入文本框

$('#editfill_occupation').change(function() { 
    if ($("#editfill_occupation").val() == "0") { 
     $('#editfill_uniemail').watermark("Please enter your university email address "); 
     $('#editfill_uniemail').show(); 
    } 
    else { 
     $('#editfill_uniemail').hide(); 
    } 
});​ 

我editfill_uniemail的定義是這樣的:

<input type="text" name="editfill_uniemail" id="editfill_uniemail" style="display: none;" > 

我也試圖利用上述定義的佔位符屬性,但它不工作。我可能做錯了什麼?或者不是寫入水印的方式?

+0

嘗試使用''活的(),而不是'改變()' –

+0

演示:http://jsfiddle.net/SO_AMK/8FMpu/:d –

回答

1

您是否試過HTML佔位符屬性?

編輯:我看到你有,但我的代碼正常工作。

演示:http://jsfiddle.net/SO_AMK/4nGdQ/

HTML:

<select id="editfill_occupation"> 
    <option value="0">Providing demos for questions</option> 
    <option value="1">Just kidding about that</option> 
    <option value="2">But next time,</option> 
    <option value="3">Please do your own :D</option> 
</select> 
<input type="text" name="editfill_uniemail" placeholder="Please enter your university email address" id="editfill_uniemail" style="display: none;" >​ 

屬性目前支持all modern browsers except IE,並且將在IE 10將支持的佔位符(在這種情況下,caniuse.com只是不顯示在一個IE)

不要忘記一個document.ready()處理器...

+0

這是偉大的。我找出了我的錯誤。我錯誤地使用了佔位符。 – rockstar

1

ANOT她的演示http://jsfiddle.net/aXzuS/

您可以通過使用.focus.blur API來完成此操作。

很好的鏈接:http://blogs.planetcloud.co.uk/mygreatdiscovery/post/A-simple-jQuery-watermark-textbox.aspx

希望它符合需求! :)

代碼

$(document).ready(function() { 

    var tbval = $('#hulk').val(); 

    $('#hulk').focus(function() { 
     $(this).val(''); 
    }); 

    $('#hulk').blur(function() { 
     $(this).val(tbval); 
    }); 

});​ 
+0

唯一的問題是,_all_文本將是灰色的...嘿,沒有想到這樣做一個「盒子笑臉」:D –

+0

@ A.M.K謝謝你! ':)'http://jsfiddle.net/8Afe9/! –

+1

感謝您向我介紹.focus和.blur api。也許我會在將來使用它們! – rockstar