| ต่ออีกหน่อยนะครับ คือว่า ในส่วนผมเพิ่ม socde code นี้นะครับ .Write "<form method=post action='Delete_1_UserTraffic.asp' onsubmit='return validate(this)'>" แล้วหลังจากนั้นผมก็แทรก js ดังนี้ต่อท้ายนะครับ <script language="javascript"> function validate(obj){ var check = true; for(i=0; i<obj.id.length; i++){ if(!obj.id[i].checked){ check = false; } } if(check){ confirm("ยืนยันการลบข้อมูล"); return true; }else{ alert("Please check some box"); return false; } } </script> **********************checkbox ชือว่า id นะครับ***************** .Write"<td align=center><input type=checkbox name=id value=" & rs("ID") & "> *********************************************************************** ซึ่งเมื่อเราไม่ได้ทำการเลือกที่ checkbox มันก็จะแสดง messagebox บอกว่า ("Please check some box") แต่เวลาผมเลือกมันกลับแสดง messagebox เหมือนเดิมนะครับ ผมสงสัยว่ามันจะไม่ วน loop นะครับ หรือเป็นเพราะอะไรเหรอครับ ช่วยอธิบายให้ผมเข้าใจด้วยนะครับ |
<script language="javascript">
function validate(obj){
var check = true;
for(i=0; i<obj.elements.length; i++){
if(!obj.elements[i].checked){
check = false;
}
}
if(check){
//OK
return true;
}else{
//Not check any box
alert("Please check some box");
return false;
}
}
</script>
ส่วน form ก็ ถูกแล้วครับ
Write "<form method=post action='Delete_1_UserTraffic.asp' onsubmit='return validate(this)'>"
ที่ผมใช้ elements.length นั่น elements เป็น properties ของ form ครับโดยถูกประกาศเป็น array ซึ่งเก็บค่าของ object ต่างๆที่อยู่ใน form ครับจึงสามารถใช้โค๊ดของผมได้เลยไม่ต้องเปลี่ยนจาก elements เป็น id ครับ
ส่วนที่คุณเขียนเพื่อให้ confirm นั้น ควรใช้เป็น
...
if(check){
//OK
return confirm("ยืนยันการลบข้อมูล");
}else{
//Not check any box
alert("Please check some box");
return false;
}
...
ซึ่งจาดโค๊ดของคุณนั้นแน่นอนครับว่าจะมี dialog เพื่อให้ยืนยัน แต่ว่าไม่ว่าจะตอบว่าอะไรก็จะมีการลบข้อมูลครับ แต่จากโค๊ดข้างบนนนี้เมื่อมีการ loop เพื่อเช็กว่ามีการติ๊กหรือยังถ้ามีการติ๊กแล้วจะทำการแสดง dialog เพื่อให้ยืนยันถ้าตอบ Cancel ตัว form จะไม่ถูก submit ครับ
Sun 20 Nov 2005 22:30:53
มันก็ยังวน loop ครับ เวลาที่ผมเลือก check box นะครับ หรือว่าผมเอา JS แทรกผิดรึป่าวครับ
ผมเอา JS มาต่อข้างล่างสุดเลยนะครับ
Sun 20 Nov 2005 22:40:02
เหมือนเดิมครับ............ไม่วน loop
Sun 20 Nov 2005 23:00:20
ผมลองทดสอบ for แล้วมันก็วน นะครับ คือ เมื่อเราเลือก Checkbox อันใดอันหนึ่งแล้วมันก็จะข้ามไปไม่นับ Checkbox ที่ถูกเลือก แล้วหลังจากนั้นมันก็วนไปเรื่อยจนครบตามจำนวน Checkbox ที่แสดงออกมา
แต่ว่าทำไมมันไม่เก็บค่าของ Checkbox ที่เราทำการเลือกหรือป่าวครับ มันถึงไม่ได้ มาเช็คตรงส่วนที่เราไม่ได้เลือกส่วนนี้นะครับ
*********else{
//Not check any box
alert("Please check some box");
return false;
}
***************
มันจะแสดงตรงส่วนนี้ตลอดเลยนะครับ
งงจริงๆครับ ช่วยผมอีกรอบนะครับ
<script language="javascript">
function validate(obj){
var check = false;
for(i = 0; i<obj.elements.length; i++){
alert(obj.elements[i].checked);
if(obj.elements[i].checked){
check = true;
}
}
alert(check);
if(check){
return confirm("ยืนยันการลบข้อมูล");
}else{
alert("Please check some box");
return false;
}
}
</script>
ส่วนของ Javascript เขียนโค๊ดเช็คสลับกันไปหน่อยครับ ต้องขออภัยด้วย
ส่วน form ก็เหมือนเดิมครับ <form action="..." method="post" onsubmit="return validate(this)">
เพิ่มนิดนึงครับลืมสังเกตไปครับว่าตอนคุณประกาศ input="checkbox" นั้นต้องตั้งชื่อให้เป็น array ครับ เช่น
<input type="checkbox" name="id[]" value="...">
โค๊ดนี้สามารถใช้ได้เลยครับ
Mon 21 Nov 2005 19:01:23
Wed 9 Jan 2008 10:10:00

| ต่ออีกหน่อยนะครับ คือว่า ในส่วนผมเพิ่ม socde code นี้นะครับ .Write "<form method=post action='Delete_1_UserTraffic.asp' onsubmit='return validate(this)'>" แล้วหลังจากนั้นผมก็แทรก js ดังนี้ต่อท้ายนะครับ <script language="javascript"> function validate(obj){ var check = true; for(i=0; i<obj.id.length; i++){ if(!obj.id[i].checked){ check = false; } } if(check){ confirm("ยืนยันการลบข้อมูล"); return true; }else{ alert("Please check some box"); return false; } } </script> **********************checkbox ชือว่า id นะครับ***************** .Write"<td align=center><input type=checkbox name=id value=" & rs("ID") & "> *********************************************************************** ซึ่งเมื่อเราไม่ได้ทำการเลือกที่ checkbox มันก็จะแสดง messagebox บอกว่า ("Please check some box") แต่เวลาผมเลือกมันกลับแสดง messagebox เหมือนเดิมนะครับ ผมสงสัยว่ามันจะไม่ วน loop นะครับ หรือเป็นเพราะอะไรเหรอครับ ช่วยอธิบายให้ผมเข้าใจด้วยนะครับ |
<script language="javascript">
function validate(obj){
var check = true;
for(i=0; i<obj.elements.length; i++){
if(!obj.elements[i].checked){
check = false;
}
}
if(check){
//OK
return true;
}else{
//Not check any box
alert("Please check some box");
return false;
}
}
</script>
ส่วน form ก็ ถูกแล้วครับ
Write "<form method=post action='Delete_1_UserTraffic.asp' onsubmit='return validate(this)'>"
ที่ผมใช้ elements.length นั่น elements เป็น properties ของ form ครับโดยถูกประกาศเป็น array ซึ่งเก็บค่าของ object ต่างๆที่อยู่ใน form ครับจึงสามารถใช้โค๊ดของผมได้เลยไม่ต้องเปลี่ยนจาก elements เป็น id ครับ
ส่วนที่คุณเขียนเพื่อให้ confirm นั้น ควรใช้เป็น
...
if(check){
//OK
return confirm("ยืนยันการลบข้อมูล");
}else{
//Not check any box
alert("Please check some box");
return false;
}
...
ซึ่งจาดโค๊ดของคุณนั้นแน่นอนครับว่าจะมี dialog เพื่อให้ยืนยัน แต่ว่าไม่ว่าจะตอบว่าอะไรก็จะมีการลบข้อมูลครับ แต่จากโค๊ดข้างบนนนี้เมื่อมีการ loop เพื่อเช็กว่ามีการติ๊กหรือยังถ้ามีการติ๊กแล้วจะทำการแสดง dialog เพื่อให้ยืนยันถ้าตอบ Cancel ตัว form จะไม่ถูก submit ครับ
Sun 20 Nov 2005 22:30:53
มันก็ยังวน loop ครับ เวลาที่ผมเลือก check box นะครับ หรือว่าผมเอา JS แทรกผิดรึป่าวครับ
ผมเอา JS มาต่อข้างล่างสุดเลยนะครับ
Sun 20 Nov 2005 22:40:02
เหมือนเดิมครับ............ไม่วน loop
Sun 20 Nov 2005 23:00:20
ผมลองทดสอบ for แล้วมันก็วน นะครับ คือ เมื่อเราเลือก Checkbox อันใดอันหนึ่งแล้วมันก็จะข้ามไปไม่นับ Checkbox ที่ถูกเลือก แล้วหลังจากนั้นมันก็วนไปเรื่อยจนครบตามจำนวน Checkbox ที่แสดงออกมา
แต่ว่าทำไมมันไม่เก็บค่าของ Checkbox ที่เราทำการเลือกหรือป่าวครับ มันถึงไม่ได้ มาเช็คตรงส่วนที่เราไม่ได้เลือกส่วนนี้นะครับ
*********else{
//Not check any box
alert("Please check some box");
return false;
}
***************
มันจะแสดงตรงส่วนนี้ตลอดเลยนะครับ
งงจริงๆครับ ช่วยผมอีกรอบนะครับ
<script language="javascript">
function validate(obj){
var check = false;
for(i = 0; i<obj.elements.length; i++){
alert(obj.elements[i].checked);
if(obj.elements[i].checked){
check = true;
}
}
alert(check);
if(check){
return confirm("ยืนยันการลบข้อมูล");
}else{
alert("Please check some box");
return false;
}
}
</script>
ส่วนของ Javascript เขียนโค๊ดเช็คสลับกันไปหน่อยครับ ต้องขออภัยด้วย
ส่วน form ก็เหมือนเดิมครับ <form action="..." method="post" onsubmit="return validate(this)">
เพิ่มนิดนึงครับลืมสังเกตไปครับว่าตอนคุณประกาศ input="checkbox" นั้นต้องตั้งชื่อให้เป็น array ครับ เช่น
<input type="checkbox" name="id[]" value="...">
โค๊ดนี้สามารถใช้ได้เลยครับ
Mon 21 Nov 2005 19:01:23


















