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 > ต้องการจะ Validate input ซึ่งเป็น array โดยแยก form จะทำยังอย่างไรคะ



 

ต้องการจะ Validate input ซึ่งเป็น array โดยแยก form จะทำยังอย่างไรคะ

 



Topic : 122042



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



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




เนื่องจากมี form หลาย form แต่ละ form ก็จะมี input ซึ่งเป็น array อยู่หลาย input
ต้องการจะทำการ validate input ที่จำเป็นต้องกรอก แต่ไม่สามารถแยก form ได้ค่ะ

Code
var bname= document.getElementsByName('name[]');
alert(name.length);


แบบนี้จะเชคจำนวน name ได้แต่ไม่สามารถที่จะเชคจำนวน name ในแต่ละ form ได้
จะทำอย่างไรให้เชคจำนวน input array ของ name ได้คะ

ตัวอย่าง form ประมาณแบบนี้ค่ะ

Code (PHP)
<form name="form1">
   <input name="name1[]">
   <input name="address[]">
</form>
<form name="form2">
   <input name="name1[]">
   <input name="address[]">
</form>
<form name="form3">
   <input name="name1[]">
   <input name="address[]">
</form>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-03-21 09:07:17 By : JuNiorWP View : 919 Reply : 9
 

 

No. 1



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



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


การทำฟอร์มหลายฟอร์ม ต้องเข้าใจก่อนว่ามัน active แค่ form เดียว ตอนกด submit
นอกนั้นต้องใช้ javascript ช่วย

ก็อยู่ที่ว่าจะทำอะไร ตรวจสอบความต้องการให้ดี






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 10:36:49 By : Chaidhanan
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-03-21 10:36:49
รายละเอียดของการตอบ ::
... ต้องการจะตรวจสอบข้อมูลใน form ที่เป็น array น่ะค่ะ เพราะตอนที่จะ submit ก็ส่งค่าไปที่ javascript เพื่อ เชค ว่าจะส่งข้อมูลที่ฟอร์มไหนไป แต่ว่าไม่สามารถตรวจสอบได้ว่าฟอร์มที่จะเชคข้อมูลเป็นฟอร์มไหนอ่ะค่ะ.......

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 11:00:38 By : JuNiorWP
 

 

No. 3



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



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


var bname= document.getElementsByName('name[]');
alert(name.length);

สีน้ำเงิน ต้องเหมือนกันหรือเปล่า

ส่วนสีแดง จากโค๊ดที่ให้มา ไม่เห็นว่ามีอยู่จริง เห็นแต่ name1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 11:06:31 By : Chaidhanan
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-03-21 11:06:31
รายละเอียดของการตอบ ::
... ใช่ค่ะ สีน้ำเงินต้องเหมือนกันค่ะ ขออภัยค่ะพิมพ์ผิด

แต่ว่าพอเลือก form 2 ตอน submit กลับไปเชคที่ form 1 แทนอ่ะค่ะ ไม่ยอมเชคค่าที่ form2
.......

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 11:10:47 By : JuNiorWP
 


 

No. 5



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



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


เอาโค๊ดมาดูครับ จะได้รู้ว่าทำไว้อย่างไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 11:13:56 By : Chaidhanan
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-03-21 11:13:56
รายละเอียดของการตอบ ::
Code (JavaScript)
var bname= document.getElementsByName('name1[]');

    for ( var i = 0; i < bname.length; i++ ){
        if ( bname[i].value == "" ) {
            alert("Please input name'.");
            bname[i].focus();
            return false;
        }
    }


จะเพิ่มในส่วนของการเชค form อย่างไรค่ะ ว่าให้เชคที่ form1 หรือ form2 อ่ะค่ะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 11:32:21 By : JuNiorWP
 


 

No. 7



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



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


Code (JavaScript)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script>
function st(){
	var bname= document.getElementsByName('name1[]');
	for ( var i = 0; i < bname.length; i++ ){
		if ( bname[i].value == "" ) {
			alert("Please input name. "+bname[i].getAttribute('data-test'));
			bname[i].focus();
			return false;
		}
	}
	for ( var i = 0; i < bname.length; i++ ){
		var frm = bname[i].form; //  <------ เอา frm ไปใช้
	}
}
</script>
</head>
<body>
<form name="form1">
	<input name="name1[]" data-test="form1">
	<input name="address[]">
</form>
<form name="form2">
	<input name="name1[]" data-test="form2">
	<input name="address[]">
</form>
<form name="form3">
	<input name="name1[]" data-test="form3">
	<input name="address[]">
</form>
<button onclick="st()">TEST</button>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 11:51:59 By : Chaidhanan
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-03-21 11:51:59
รายละเอียดของการตอบ ::
... รบกวนช่วยอีกนิดนึงนะคะ.......
var bname= document.getElementsByName('name1[]'); จะกำหนด ชื่อ form ได้อย่างไรคะ
เช่น document.form1.getElementsByName('name1[]'); อ่ะค่ะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-04 23:05:04 By : JuNiorWP
 


 

No. 9



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



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


bname เป็นตัวแปรที่เก็บค่า array ของ tag ที่มี name="name1[]" ทุกๆ อัน

จะอ้างอิง form แม่ ก็ให้ใช้คำสั่ง parentNode ในการอ้างอิง form

var frm = bname[i].parentNode();
หรือ จะใช้ element.form ก็ได้เหมือนกัน
หรือจะใช้ attribute จาก data-test ที่ใส่ไว้อ้างอิงก็ได้เหมือนกัน มีหลายคำสั่งที่จะใช้อ้างอิง
var frm = document.getElementByName(bname[i].getAttribute('data-test'));
หรือ var frm = document.forms[bname[i].getAttribute('data-test'));

หรือถ้ามี jquery อยู่ด้วย ก็ง่ายในการอ้างอิง แต่หนักโหลดไฟล์ เพราะไฟล์มันใหญ่มันขนทุกคำสั่งมาด้วย
ซึ่งบางทีเราใช้นิดเดียว แต่ถ้าเป็น เวปที่มีการเปลี่ยนแปลงน้อยก็ไม่เป็นไร มันมี cache ให้ใช้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-05 08:03:52 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการจะ Validate input ซึ่งเป็น array โดยแยก form จะทำยังอย่างไรคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่