Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 108,353

HOME > PHP > PHP Forum > ถามเรื่อง ใช้ Javascript ตรวจสอบว่า ห้ามกรอกค่าซ้ำกันเกิน 2 input box ค่ะ



 

ถามเรื่อง ใช้ Javascript ตรวจสอบว่า ห้ามกรอกค่าซ้ำกันเกิน 2 input box ค่ะ

 



Topic : 066971



โพสกระทู้ ( 295 )
บทความ ( 0 )



สถานะออฟไลน์




ตัวอย่างฟอร์ม

ตัวอย่างฟอร์ม

โค้ด
Code (PHP)
ท่านตัดสินคบคนจากอะไร 
<br />ให้กรอกเลข 1,2,3 ในช่องให้คะแนน โดยใส่ค่าคะแนนห้ามซ้ำกันเกิน 2 ข้อ

<form>
<input type="text" name="score" style="width: 30px; border: 1 solid #0080C0;" /> ใบหน้า
<br /><input type="text" name="score1" style="width: 30px; border: 1 solid #0080C0;" /> ทรงผม
<br /><input type="text" name="score2" style="width: 30px; border: 1 solid #0080C0;" /> รูปร่าง
<br /><input type="text" name="score3" style="width: 30px; border: 1 solid #0080C0;" /> นิสัยใจคอ
<br /><input type="text" name="score4" style="width: 30px; border: 1 solid #0080C0;" /> การพูดจา
<br /><input type="text" name="score5" style="width: 30px; border: 1 solid #0080C0;" /> อายุ
<br /><input type="submit" value="ส่งค่า" />
</form>


สมมติว่า ใส่เลข 2 ไป 3 ช่องก็ให้มี alert แสดง
ถ้าจะใช้ PHP ตรวจสอบก็พอทำได้ แต่อยากให้มันแจ้งก่อนส่งค่าข้ามฟอร์ม



Tag : PHP, JavaScript









ประวัติการแก้ไข
2011-09-22 10:42:39
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-09-22 10:41:01 By : nimporn View : 3090 Reply : 6
 

 

No. 1

Guest


Code (JavaScript)
<script language="javascript">
function fncCheck(){
	var _txt = "";_score = "";_split = ""
	var _chk = 0;_void = false

		for(var i = 1;i<=5;i++){
		_score = document.getElementById("score"+i).value
		_txt += ","+_score
		}

		_split = _txt.split(",")

		for(var i = 1;i<=5;i++){
		    _chk = 0
			_void = false
			_score = document.getElementById("score"+i).value
			for(var j=0;j<_split.length;j++){
			   if(_split[j] == _score){
				_chk += 1
			   }
			}

			if (_chk > 2){
			alert("> 2")
			_void = true
			break;
			}
		}
		
		if (_void == false){
			if(confirm("Are you sure you want to send data ???")){
				document.f.target ="_top";
				document.f.method ="post";
				document.f.action ="filename";
				document.f.submit();
			}
		}
	
}
</script>

<form name="f">
<INPUT TYPE="text" NAME="score1" id="score1">&nbsp;1<br>
<INPUT TYPE="text" NAME="score2" id="score2">&nbsp;2<br>
<INPUT TYPE="text" NAME="score3" id="score3">&nbsp;3<br>
<INPUT TYPE="text" NAME="score4" id="score4">&nbsp;4<br>
<INPUT TYPE="text" NAME="score5" id="score5">&nbsp;5<br>
<input type="button" value="Check" onclick="fncCheck();">
</form>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-22 13:42:04 By : thep
 


 

No. 2



โพสกระทู้ ( 295 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณค่ะ ลองดูแล้ว แจ่มเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-22 14:09:08 By : nimporn
 

 

No. 3



โพสกระทู้ ( 295 )
บทความ ( 0 )



สถานะออฟไลน์


เอาไปปรับใหม่ ได้แบบนี้ โอเคเลย

Code (PHP)
<script language=Javascript>
      <!--
      function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 49 || charCode > 53))
            return false;

         return true;
      }
      //-->
   </script>


<script language=Javascript>
<!--

function validate_form ( )
{
    valid = true;
    var c1=0
    var c2=0
    var c3=0
    var c4=0
    var c5=0
    len=document.form3.answer.length


        for (i=0;i<=len;i++)    {
           // document.form3.answer[i].value
           if (document.form3.answer[i].value=="")  {
            alert ("กรุณากรอกคะแนนให้ครบ");
            document.form3.answer[i].focus();
            valid = false;
            return valid;
            }

           if (document.form3.answer[i].value==1)  {
                c1=c1+1
                if (c1>4)   {
            alert ("ค่าคะแนน "+document.form3.answer[i].value+" มากกว่าจำนวนที่กำหนด");
            valid = false;
            return valid;
                }
            }
           if (document.form3.answer[i].value==2)  {
                c2=c2+1
                if (c2>4)   {
            alert ("ค่าคะแนน "+document.form3.answer[i].value+" มากกว่าจำนวนที่กำหนด");
            valid = false;
            return valid;
                }
            }
           if (document.form3.answer[i].value==3)  {
                c3=c3+1
                if (c3>4)   {
            alert ("ค่าคะแนน "+document.form3.answer[i].value+" มากกว่าจำนวนที่กำหนด");
            valid = false;
            return valid;
                }
            }
           if (document.form3.answer[i].value==4)  {
                c4=c4+1
                if (c4>4)   {
            alert ("ค่าคะแนน "+document.form3.answer[i].value+" มากกว่าจำนวนที่กำหนด");
            valid = false;
            return valid;
                }
            }
           if (document.form3.answer[i].value==5)  {
                c5=c5+1
                if (c5>4)   {
            alert ("ค่าคะแนน "+document.form3.answer[i].value+" มากกว่าจำนวนที่กำหนด");
            valid = false;
            return valid;
                }
            }
        }

    return valid;
}

//-->
</script>   

ท่านตัดสินคบคนจากอะไร 
<br />ให้กรอกเลข 1,2,3,4,5 ในช่องให้คะแนน โดยใส่ค่าคะแนนห้ามซ้ำกันเกิน 4 ข้อ

<form name=form3 action=form.php method=post  onsubmit="return validate_form ( );">

  <?php 
include "dataconnect.php";
  $sql="SELECT * FROM table ORDER BY id";
  $result=mysql_query($sql,$conn);
echo "<table>";
  while ($row=mysql_fetch_array($result))   {
    $id=$row['id'];

    $desc=$row['desc'];
    $score=$row['score'];

    echo "<tr>";
    echo "<td width=100%>";

    echo "<input type=\"text\" name=\"answer[]\" id=\"answer\" value=$score maxlength=1 onkeypress=\"return isNumberKey(event)\" style='width:20px;' /> $id. $desc";
    echo "</td>";
    echo "</tr>";

  }
echo "<tr><td><input type=\"submit\" value=\"ส่งค่า\" />"</td></tr>";
echo "</table>";
  ?>
</form>



ประวัติการแก้ไข
2011-10-01 08:42:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-01 08:39:22 By : nimporn
 


 

No. 4



โพสกระทู้ ( 1,095 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


อีกทางเลือกครับ

Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript">
	function check_value(selector){
	
		 if($(selector).val() != ''){
			var num = 0;
			$('input[name^="score"]').each(function(){
				if( $(this).val() == $(selector).val() ){
					num = num + 1;
				}
			});
			if(num > 2){
				alert('เกินไปล่ะ!');
				$(selector).val('');
				$(selector).focus();
			}
		 }
		 
	}
</script>
<title>Untitled Document</title>
</head>

<body>
<form name="f">
<INPUT TYPE="text" NAME="score1" id="score1" onkeyup="check_value('#score1');" >&nbsp;1<br>
<INPUT TYPE="text" NAME="score2" id="score2" onkeyup="check_value('#score2');" >&nbsp;2<br>
<INPUT TYPE="text" NAME="score3" id="score3" onkeyup="check_value('#score3');" >&nbsp;3<br>
<INPUT TYPE="text" NAME="score4" id="score4" onkeyup="check_value('#score4');" >&nbsp;4<br>
<INPUT TYPE="text" NAME="score5" id="score5" onkeyup="check_value('#score5');" >&nbsp;5<br>
<input type="button" value="Check" onclick="fncCheck();">
</form>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-01 09:18:29 By : ไวยวิทย์
 


 

No. 5



โพสกระทู้ ( 40 )
บทความ ( 0 )



สถานะออฟไลน์
Blogger

ตอบความคิดเห็นที่ : 4 เขียนโดย : ไวยวิทย์ เมื่อวันที่ 2011-10-01 09:18:29
รายละเอียดของการตอบ ::
ขอสอบถามหน่อยค่ะ ถ้าจากโค้ดข้างต้น มีวิธีจะดัดแปลงให้เช็คเป็นข้อมูลที่รับเข้ามา ได้ยังไงค่ะ ? ขอคำแนะนำด้วยค่ะ
#ข้อมูลที่รับเข้ามาใน text เป็นข้อมูลที่ใช้ loop for ตั้งแต่ 1-20 text ตามแต่ผู้ใช้เลือกค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-19 18:09:53 By : hiyingzha
 


 

No. 6



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-19 22:04:45 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามเรื่อง ใช้ Javascript ตรวจสอบว่า ห้ามกรอกค่าซ้ำกันเกิน 2 input box ค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , รับทำบัญชี , โรงงานผลิตครีม , สำนักงานบัญชี , รับจดทะเบียนบริษัท , Pangpond , รถมือสอง

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2020 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่