ฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกันขณะพยายามทำสิ่งนี้ใน Firefox 5
ฉันแก้ไขมันโดยใช้รหัสด้านล่าง:
<script type="text/javascript" language="JavaScript">
$(document).ready(function()
{
var passfield = document.getElementById('password_field_id');
passfield.type = 'text';
});
function focusCheckDefaultValue(field, type, defaultValue)
{
if (field.value == defaultValue)
{
field.value = '';
}
if (type == 'pass')
{
field.type = 'password';
}
}
function blurCheckDefaultValue(field, type, defaultValue)
{
if (field.value == '')
{
field.value = defaultValue;
}
if (type == 'pass' && field.value == defaultValue)
{
field.type = 'text';
}
else if (type == 'pass' && field.value != defaultValue)
{
field.type = 'password';
}
}
</script>
และเพื่อใช้งานเพียงตั้งค่าแอตทริบิวต์ onFocus และ onBlur ของเขตข้อมูลของคุณเป็นดังนี้:
<input type="text" value="Username" name="username" id="username"
onFocus="javascript:focusCheckDefaultValue(this, '', 'Username -OR- Email Address');"
onBlur="javascript:blurCheckDefaultValue(this, '', 'Username -OR- Email Address');">
<input type="password" value="Password" name="pass" id="pass"
onFocus="javascript:focusCheckDefaultValue(this, 'pass', 'Password');"
onBlur="javascript:blurCheckDefaultValue(this, 'pass', 'Password');">
ฉันใช้ฟิลด์นี้เพื่อชื่อผู้ใช้ด้วยเช่นกันดังนั้นจึงเป็นการสลับค่าเริ่มต้น เพียงตั้งค่าพารามิเตอร์ที่สองของฟังก์ชันเป็น '' เมื่อคุณเรียกใช้
นอกจากนี้อาจเป็นเรื่องที่น่าสังเกตว่าเขตข้อมูลรหัสผ่านเริ่มต้นของฉันคือรหัสผ่านจริงในกรณีที่ผู้ใช้ไม่ได้เปิดใช้งานจาวาสคริปต์หรือหากมีสิ่งผิดปกติเกิดขึ้น
ฟังก์ชัน $. เอกสารพร้อมแล้วคือ jQuery และโหลดเมื่อเอกสารเสร็จสิ้นการโหลด จากนั้นเปลี่ยนฟิลด์รหัสผ่านเป็นฟิลด์ข้อความ แน่นอนคุณจะต้องเปลี่ยน 'password_field_id' เป็นรหัสของฟิลด์รหัสผ่านของคุณ
รู้สึกอิสระที่จะใช้และแก้ไขรหัส!
หวังว่านี่จะช่วยทุกคนที่มีปัญหาแบบเดียวกันกับที่ฉันทำ :)
- CJ Kent
แก้ไข: ทางออกที่ดี แต่ไม่สมบูรณ์ ใช้งานได้กับ FF8 และ IE8 BUT แต่ไม่สมบูรณ์บน Chrome (16.0.912.75 เวอร์ชั่น) Chrome ไม่แสดงข้อความรหัสผ่านเมื่อโหลดหน้าเว็บ นอกจากนี้ - FF จะแสดงรหัสผ่านของคุณเมื่อเปิดใช้งานป้อนอัตโนมัติ