TextField รับค่าที่กรอกเป็นตัวอักษรพิมพ์ใหญ่เสมอ
สร้างฟังก์ชั่น สำหรับแปลงครับ
<script language="javascript">
function strauto(){
var text = document.getElementById('textfield_ป้อนข้อมูล').value;
var str = new String ( text );
var str = str.toUpperCase();
document.getElementById('textfield_ที่รับข้อมูลหลังจากแปลง').value = str;
}
</script>
เรียกใช้ก็ เพิ่ม onkeyup="strauto()" ลงใน textfield ที่ต้องการครับ
<input name="textfield" type="text" id="textfield" onkeyup="strauto()" />
ขออภัยอีกทีครับ ที่ไม่ได้มาเฉลย พอดี งานมันเร่งจริงๆ
โอเคครับ ทำได้แล้วครับ
รอเฉลยอีกคน
เฉลยให้แล้วนะครับ ไม่โกรธกันน้า
เพื่อส่วนรวม
ขอบคุณครับ
<style type="text/css">
#textfield{ text-transform:uppercase;}
</style>
ข้อเสียสำหรับวิธีนี้ คือ ค่าที่ POST หรือ อ่านได้จาก input ไม่ได้เป็นตัวพิมพ์ใหญ่จริงๆ ครับ แต่ก็สามารถแก้ไขได้โดยการแปลงเป็นตัวพิมพ์ใหญ่ หลังจากโพสต์แล้ว ที่ PHP
ส่วนข้อดีของมันก็คือ มันไม่ต้องพึ่ง Javascript ครับ ถึงแม้จะปิด Javascript ไปแล้ว การ submit ก็ยังสามารถทำงานได้ตามปกติ
คำแนะนำ หากต้องการผลลัพท์ที่เป็นตัวพิมพ์ใหญ่จริงๆ การแปลงเป็นตัวพิมพ์ใหญ่ หลังจาก Submit ด้วย PHP เป็นสิ่งที่จำเป็น และ ผมแนะนำให้ใช้ วิธีที่ 2 สำหรับกรณีนี้ ครับ
โชคดีนะครับ ที่มีสมาชิกโพสต์ให้เห็นวิธีที่แตกต่างกันถึง 2 วิธี ซึ่งแน่นอน แต่ละวิธีจะมีข้อดีข้อด้อยแตกต่างกัน และหนึ่งในความคิดเห็นนั้นๆ อาจมีวิธีที่ดีที่สุดก็ได้
สำหรับผมแล้ว javascript มันให้ความรู้สึกทื่อๆไปหน่อย บางทีมันไม่ได้เห็นทันทีถ้าคอมฯช้าๆหน่อย javascript ทำงานไม่ทัน user อาจได้เห็นภาพก่อนผลอย่างไม่น่าเห็นก็ได้ อิอิ
ขอบคุณสำหรับสองวิธีเลยครับ เจ๋งดีๆ :)
<input type="text" name="textfield" id="textfield" style="text-transform:uppercase;" onkeyup="this.value=this.value.toUpperCase();" />