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

Registered : 109,037

HOME > PHP > PHP Forum > คำสั่ง javascript ทำงานผิดไม่ทราบว่าเกิดจากจุดไหนครับ



 

คำสั่ง javascript ทำงานผิดไม่ทราบว่าเกิดจากจุดไหนครับ

 



Topic : 137182



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



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




จาก ตัวอย่าง ผมไม่แน่ใจว่าเกิดจาก error ตัวไหนทำไมกด login ที่ button ยืมอุปกรณ์ ถึงวิ่งไปเช็คที่ chklogin2.php แทนที่จะวิ่งไปเช็คที่ chklogin.php
Code (PHP)
<?php 
include ('db_connect.php'); 
session_start();
?>


<!DOCTYPE html>
<html>
<style>

{
box-sizing: border-box;
}

*:focus {
	outline: none;
}
body {
font-family: Arial;
background-color: #E6E6FA;
padding: 50px;
}
.login {
margin: 20px auto;
width: 300px;
}
.login-screen {
background-color: #FFF;
padding: 20px;
border-radius: 5px
}

.app-title {
font-size: 15px;
text-align: center;
color: #000000;
}

.login-form {
text-align: center;
}
.control-group {
margin-bottom: 10px;
}

input {
text-align: center;
background-color: #ECF0F1;
border: 2px solid transparent;
border-radius: 3px;
font-size: 16px;
font-weight: 200;
padding: 10px 0;
width: 250px;
transition: border .5s;
}

input:focus {
border: 2px solid #3498DB;
box-shadow: none;
}

.btn {
  border: 2px solid transparent;
  background: #20B2AA;
  color: #ffffff;
  font-size: 16px;
  line-height: 25px;
  padding: 10px 0;
  text-decoration: none;
  text-shadow: none;
  border-radius: 3px;
  box-shadow: none;
  transition: 0.25s;
  display: block;
  width: 250px;
  margin: 0 auto;
}

.btn:hover {
  background-color: #2980B9;
}

.login-link {
  font-size: 12px;
  color: #444;
  display: block;
	margin-top: 12px;
}

</style>

<body>
	<div class="login">
		<div class="login-screen">
			<div class="app-title">
				<h1>กรุณาเข้าสู่ระบบ</h1>
			</div>
            <form action="page.cgi" method="post" name="form1">
			<script language="JavaScript"> 
				
			function fncSubmit(strPage)
			{
				if(strPage == "page1")

				if(isNaN(document.form1.txtidcard.value)) // เช็ค textbox ต้องเป้นตัวเลข
		 		{
				alert('กรุณาใส่รหัสผ่านเท่านั้น.');
				return false;
		 		}

				var x = document.forms["form1"]["txtidcard"].value; // เช็คค่าว่าง textbox
  				if (x == "") {
    			alert("คุณไม่ได้ใส่รหัสผ่าน");
   				 return false;
 				 }
				
				{
				document.form1.action="chklogin.php";
				}

						
				if(strPage == "page2")
				if(isNaN(document.form1.txtidcard.value)) // เช็ค textbox ต้องเป้นตัวเลข
		 		{
				alert('กรุณาใส่รหัสพนักงานเท่านั้น.');
				return false;
		 		}

				 var a = document.forms["form1"]["txtidcard"].value; // เช็คค่าว่าง textbox
  				if (a == "") {
    			alert("กรุณาใส่รหัสผ่านด้วยครับ");
   				 return false;
 				 }
				
				{
					document.form1.action="chklogin2.php";
				}	
				
				document.form1.submit();
			}
			</script>


			<div class="login-form">
				<div class="control-group">
				<input type="text" class="login-field"  name ="txtidcard" value="" placeholder="รหัสพนักงาน" id="login-name" required>
				<label class="login-field-icon fui-user" for="login-name"></label>
				</div>
		
			
                <button type="button" name ="save" class="btn" onClick="JavaScript:fncSubmit('page1')">ยืมอุปกรณ์</button>
				<button type="button" name ="save" class="btn" onClick="JavaScript:fncSubmit('page2')">คืนอุปกรณ์</button>
				<a class="login-link" href="test.php">...สรุปข้อมูลการยืมและคืนอุปกรณ์....</a>
			</div>
		</div>
	</div>
</body>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2024-04-04 22:27:21 By : tharakorn.jin View : 271 Reply : 4
 

 

No. 1



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


มันเป็นปัญหาการเปิดและปิด {...} ที่ไม่เป็นระเบียบของคุณเอง.
พอลองเอาเฉพาะ JS ไปเข้า JSFiddle แล้วสั่ง Tidy ก็ได้แบบนี้มา
Code (JavaScript)
function fncSubmit(strPage) {
  if (strPage == "page1")

    if (isNaN(document.form1.txtidcard.value)) // เช็ค textbox ต้องเป้นตัวเลข
  {
    alert('กรุณาใส่รหัสผ่านเท่านั้น.');
    return false;
  }

  var x = document.forms["form1"]["txtidcard"].value; // เช็คค่าว่าง textbox
  if (x == "") {
    alert("คุณไม่ได้ใส่รหัสผ่าน");
    return false;
  }

  {
    document.form1.action = "chklogin.php";
  }


  if (strPage == "page2")
    if (isNaN(document.form1.txtidcard.value)) // เช็ค textbox ต้องเป้นตัวเลข
  {
    alert('กรุณาใส่รหัสพนักงานเท่านั้น.');
    return false;
  }

  var a = document.forms["form1"]["txtidcard"].value; // เช็คค่าว่าง textbox
  if (a == "") {
    alert("กรุณาใส่รหัสผ่านด้วยครับ");
    return false;
  }

  {
    document.form1.action = "chklogin2.php";
  }

  document.form1.submit();
}

มันทำให้เห็นเลยว่าเปิดและปิดปีกกาค่อนข้างมั่วไม่เป็นระเบียบ โดยเฉพาะส่วนที่คลุม form.action กลายเป็นแบบนี้.
Code (JavaScript)
{
    document.form1.action = "chklogin.php";
}

ซึ่งมันไม่มีความหมายอะไรในภาษา JS. มันเหมือนจะเป็น Object แต่ก็ไม่ใช่และผิดหลักภาษา

วิธีแก้คือไล่เปิดและปิดเครื่องหมาย {..} ให้ครบและถูกต้อง.
หลีกเลี่ยงการเขียนแบบไม่มีเครื่องหมายปีกกาแบบนั้น ถึงแม้ว่ามันทำงานได้แต่มันดูแล้วมั่ว. ตัวอย่างเช่น
Code (JavaScript)
if (something === true)
    console.log('its true');

แต่ควรจะเป็น
if (something === true) {
    console.log('its true');
}

ซึ่งการเขียนแบบนี้ พองานใหญ่ขึ้นมันดูง่าย ดูไม่มั่ว ไล่อ่านง่ายด้วย ผิดพลาดก็น้อยลงเพราะรู้กรอบของมันชัดเจน.








ประวัติการแก้ไข
2024-04-04 22:36:58
2024-04-05 03:23:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2024-04-04 22:36:31 By : mr.v
 


 

No. 2



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


ปัญหาต่อมา HTML ก็แลดูมั่วๆ ไม่เปิดปิดให้ถูกต้อง.
ถ้าโค้ดที่แปะมาบอกว่าตัดมาแค่บางส่วนก็ควรจะเปิดและปิดให้สมจริงแบบที่เอามาทดลองได้ ไม่ใช่สักแต่ตัดแปะๆ.

อย่างแท็กเปิด <form> ก็ไม่มีแท็กปิด แล้ว <script> ก็ไปอยู่ใน <form> ซึ่งมันไม่ขัดหรอกแต่มันไม่สวยและดูมั่ว ไล่อ่านแก้ปัญหายาก.

การออกแบบ HTML ควรแยกชัดๆไปเลย. แท็ก <script> สามารถอยู่ได้ทั้งในส่วนของ <header>...</header> และส่วนล่างสุดก่อนปิด </body> แต่ไม่ควรปนกับแท็กอื่นๆเพราะดูยาก.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2024-04-04 22:41:09 By : mr.v
 

 

No. 3



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


อันนี้แก้ JS ใหม่แล้วลองเปรียบเทียบดูนะว่ามันควรจะเป็นยังไง

Code (JavaScript)
function fncSubmit(strPage) {
  if (strPage == 'page1') {
    if (isNaN(document.form1.txtidcard.value)) {
      // เช็ค textbox ต้องเป้นตัวเลข
      alert('กรุณาใส่รหัสผ่านเท่านั้น.');
      return false;
    }

    var x = document.forms['form1']['txtidcard'].value; // เช็คค่าว่าง textbox
    if (x == '') {
      alert('คุณไม่ได้ใส่รหัสผ่าน');
      return false;
    }

    document.form1.action = 'chklogin.php';
  }

  if (strPage == 'page2') {
    if (isNaN(document.form1.txtidcard.value)) {
      // เช็ค textbox ต้องเป้นตัวเลข
      alert('กรุณาใส่รหัสพนักงานเท่านั้น.');
      return false;
    }

    var a = document.forms['form1']['txtidcard'].value; // เช็คค่าว่าง textbox
    if (a == '') {
      alert('กรุณาใส่รหัสผ่านด้วยครับ');
      return false;
    }

    document.form1.action = 'chklogin2.php';
  }

  document.form1.submit();
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2024-04-05 03:22:21 By : mr.v
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : mr.v เมื่อวันที่ 2024-04-05 03:22:21
รายละเอียดของการตอบ ::
ขอบคุณมากครับคุณ V ผมลองแก้ไขตามที่คุณ v แนะจัดรูปแบบให้มันดูง่ายขึ้นและใส่ {} ให้ครบ script ก็ทำงานเลยครับ


Code (PHP)
                       <script language="JavaScript"> 
			function fncSubmit(strPage){  
			
			if(isNaN(document.form1.txtidcard.value)){ // เช็คค่า textbox ต้องไม่เป็นตัวอักษร
			alert('!! กรุณากรอกเป็นตัวเลขเท่านั้น !!.');
			return false;
			}
			
			var x = document.forms["form1"]["txtidcard"].value; // เช็คค่า textbox ต้องไม่ค่าว่าง
  			if (x == ""){
    		        alert("!! กรุณากรอกรหัสผ่านให้ถูกต้อง !!");
   			return false;
 			}
			
			document.form1.action="chklogin.php";
			
			if(strPage == "page2")
			document.form1.action="chklogin2.php";
					
			document.form1.submit();
			}
			</script>



ประวัติการแก้ไข
2024-04-05 09:16:50
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2024-04-05 09:11:38 By : tharakorn.jin
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : คำสั่ง javascript ทำงานผิดไม่ทราบว่าเกิดจากจุดไหนครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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