[英]Placeholder script for IE9 javascript issue
我有以下腳本,如果用戶使用的是瀏覽器ie9,那么我們可以修復有關ie9不支持占位符的已知問題:
if (isIE9) { // ie9
// this is html5 placeholder fix for inputs, inputs with placeholder-no-fix class will be skipped(e.g: we need this for password fields)
jQuery('input[placeholder]:not(.placeholder-no-fix), textarea[placeholder]:not(.placeholder-no-fix)').each(function() {
var input = jQuery(this);
if (input.val() == '' && input.attr("placeholder") != '') {
input.addClass("placeholder").val(input.attr('placeholder'));
}
input.focus(function() {
if (input.val() == input.attr('placeholder')) {
input.val('');
}
});
input.blur(function() {
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.val(input.attr('placeholder'));
}
});
});
}
當我在ie9中加載頁面時,我看到了電子郵件框的占位符,但是密碼框決定使用該占位符,並使其看起來像有人輸入了一個值,如下所示:
我的標記如下:
<div class="form-group">
<input id="EmailAddress" class="form-control" type="text" value="" placeholder="Please enter your email address" name="EmailAddress" data-val-required="Email Address is required" data-val="true" autocomplete="off" maxlength="320">
</div>
<div class="form-group">
<input id="Password" class="form-control" type="Password" value="" placeholder="Password" name="Password" data-val-required="Password is required" data-val="true" autocomplete="off" maxlength="50">
</div>
有人可以提出任何可以幫助我解決問題的建議嗎?
我還向密碼類添加了占位符-不固定,但是在ie9中查看時,密碼字段為空,它不會顯示占位符。
您正在將密碼字段的值(.val())設置為字符串“ Password”,將其視為密碼並隱藏字符。
我想作為一個骯臟的黑客,您可以將輸入類型設置為文本,直到他們專注於該字段,然后將其設置為密碼,直到再次模糊時該字段為空(如果使用他們的密碼,將其設置為文本顯然很糟糕在那里!)。
我建議您使用一個額外的職位:絕對職位; div作為IE 9的占位符后備。只需顯示/隱藏div onblur。
使用值作為占位符將要求用戶在填寫字段之前刪除所有內容,並且在密碼字段中肯定會出現******問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.