blue

Thu 1 Sep 2005 15:08:33
Thu 1 Sep 2005 15:08:33
ผมสร้าง textbox ขึ้นมาเพื่อรับค่าหมายเลขบัตรประชาชน โดยได้แบ่งtextbox ออกเป็น4บล็อก ผมอยากคีย์ตัวเลขโดยที่ไม่ต้องกด tab หรือใช้เม้าคลิกเปลี่ยนบล็อกอ่ะครับ ช่วยทีน่ะครับ
สามารถทำได้ครับ โดยการเช็คความยาวของ string input ครับ ยกตัวอย่างนะครับ
เพราะไม่ทราบว่าแต่ละ textbox ที่คุณสร้างไว้นั้นมีความยาวเท่าไร
<script language="javascript">
function go1(obj){
var theform = obj.form;
if(obj.value.length == 4){
theform.textbox2.focus();
}
}
function go2(obj){
var theform = obj.form;;
if(obj.value.length == 3){
theform.textbox3.focus();
}
}
function go3(obj){
var theform = obj.form;
if(obj.value.length == 5){
theform.textbox4.focus();
}
}
</script>
<form name="idform">
<input name="textbox1" type="text" id="textbox1" onkeydown="go1(this)" maxlength="4" />
<input name="textbox2" type="text" id="textbox2" onkeydown="go2(this)" maxlength="3" />
<input name="textbox3" type="text" id="textbox3" onkeypress="go3(this)" maxlength="5" />
<input name="textbox4" type="text" id="textbox4" maxlength="1" />
</form>
ลองใช้ดูนะครับโค๊ดนี้ได้ test กับ IE6 และ Mozilla แล้วครับ
<script language="javascript">
function go1(obj){
var theform = obj.form;
if(obj.value.length == 4){
theform.textbox2.focus();
}
}
function go2(obj){
var theform = obj.form;;
if(obj.value.length == 3){
theform.textbox3.focus();
}
}
function go3(obj){
var theform = obj.form;
if(obj.value.length == 5){
theform.textbox4.focus();
}
}
</script>
<form name="idform">
<input name="textbox1" type="text" id="textbox1" onkeydown="go1(this)" maxlength="4" />
<input name="textbox2" type="text" id="textbox2" onkeydown="go2(this)" maxlength="3" />
<input name="textbox3" type="text" id="textbox3" onkeypress="go3(this)" maxlength="5" />
<input name="textbox4" type="text" id="textbox4" maxlength="1" />
</form>
ลองใช้ดูนะครับโค๊ดนี้ได้ test กับ IE6 และ Mozilla แล้วครับ
รุต

Fri 30 Dec 2005 12:10:45
Fri 30 Dec 2005 12:10:45
โทษนะครับ ผมลองเอามาใช้ดู มันก็คีย์ได้ตามปกติ แต่ตอนลบมันลบ textbox1กะ2มะได้ใช้ปุ่มรีเฟรชก็มะได้นะครับ
ขอโทษด้วยครับ ผมไม่เข้าใจที่คุณรุตต้องการครับ ช่วยอธิบายเพิ่มด้วยครับ

















