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,065

HOME > PHP > PHP Forum > สอบถามปัญหาคำสั่ง Dropdown + Ajax + Clone ที่ใช้ในการสร้างแบบฟอร์มยืมสินค้าหน่อยครับ



 

สอบถามปัญหาคำสั่ง Dropdown + Ajax + Clone ที่ใช้ในการสร้างแบบฟอร์มยืมสินค้าหน่อยครับ

 



Topic : 133777



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



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




พอดีผมทำแบบฟอร์มการยืมสินค้านะครับ ดังรูปข้างล่าง
ตาราง
โดยใช้ Clone ในการกดเพิ่มช่อง row ครับที่นี้อยากรู้ว่าเราจะมีวิธี set ให้ค่าที่ clone มาล่าสุดเป็นค่าเปล่าๆได้ไหมครับต้องเพิ่มคำสั่งอันไหนไป
Code (PHP) by clone
<title>Request</title>
<style type="text/css "></style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#accountcode').on('change',function(){
      var ACCID =$(this).val();
      if(ACCID){
        $.ajax({
            type:'POST',
            url:'ajaxData.php',
            data:'acc_id='+ACCID,
            success:function(html){
              $('#item').html(html);
              }
          });
        }else{
          $('#item').html('<option value="">Select accountcode first</option>');
        }
	});

      $('#item').on('change',function(){
        var ITMID = $(this).vaL();
        if(ITMID){
            $.ajax({
              type:'POST',
              url:'ajaxData.php',
              data:'item_id='+ITMID
            });
		}
        });
});
function fncAdd(){
	var tb = document.getElementById('tbl');
	var tbody = document.createElement('tbody');  // fixed IE :>
	tb.insertBefore(tbody, null);
	var clone=document.getElementById('cln').cloneNode(true);
  tbody.insertBefore(clone,null);
}
function fncDelete(){
		var  tb =document.getElementById('tbl');
		var del = tb.rows.length;
		if(del>1){
		tb.deleteRow(del-1);
		}
}
function MM_popupMsg(msg) { //v1.0
  alert(msg);
}
function cancel(abc){
    	alert(abc);
    }
</script>
<form id="frm">
<table id="tbl" table width="75%" border=1>
<tr>
  <td width="2%"><div align="center">ลำดับ</div></td>
  <td width="10%"><div align="center">Account code</div></td>
  <td width="15%"><div align="center">รายการ</div></td>
  <td width="2%"><div align="center">จำนวน</div></td>
  <td width="3%"><div align="center">หน่วย</div></td>
  <td width="8%"><div align="center">หมายเหตุ</div></td>
  <td width="4%"><div align="center">แนบไฟลฺ์</div></td>
  </tr>
<tr id="cln" >
	<td>
    </td>
    <?php
 	include 'dbConfig.php';
 	$query = $db->query("SELECT * FROM accountcode ORDER BY acc_id ASC ");
 	$rowCount = $query->num_rows;
 	?>
	<td>
	  <select id="accountcode">
  			<option value=""> - - Please select - - </option>
			<?php
  			if($rowCount > 0){
      			while($row=$query->fetch_assoc()){
        	echo '<option value="'.$row['acc_id'].'">'.$row['acc_name'].'</option>';
      			}
    		}else{
      			echo '<option value="">Accountcode not available</option>';
    		}
  			?>
   	  </select>
	</td>
	<td>
	  <select id="item">
    		<option value=""> - - Select accountcode first - -</option>
	  </select>
	</td>
	<td>
		<input type="text" name="txtAMOUNT" size="5">
	</td>
	<td>
		<input type="text" name="txtUNIT" size="5">
	</td>
	<td>
	  <textarea rows=3 cols=15 name="note" size="7" > </textarea>
	</td>
	<td>
	  <select name="status">
			<option value="val1">yes</option>
			<option value="val2">no</option>
		</select>
	</td>
</table>
<p>
  <input type="button" value="เพิ่มรายการ" onClick="fncAdd()">
  <input type="button" value="ลบรายการ" onClick="fncDelete()">
</p>
<p> (*กรณีไม่มีรายการที่ต้องการ*)
  <input type="button" onclick="window.location = 'addnewitem.php';" value="Add" />
</p>
<form method="POST">
  <p align="center">
<input type="submit" id="btLogin" name="MM_insert" onClick="MM_popupMsg('Success'),Mail()" value="Submit">
<input type=button onClick='window.history.back()' value='Cancel'>
  </p>
</form>
-


ลองใช้แบบ element ดูแล้วปัญหาก็เกิดขึ้นอีกครับ คือไม่สามารถใส่เงื่อนไข dropdown ลงไปในฟังก์ชัน fncAdd ได้
Code (PHP) by element
<title>Request</title>
<style type="text/css "></style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#accountcode').on('change',function(){
      var ACCID =$(this).val();
      if(ACCID){
        $.ajax({
            type:'POST',
            url:'ajaxData.php',
            data:'acc_id='+ACCID,
            success:function(html){
              $('#item').html(html);
              }
          });
        }else{
          $('#item').html('<option value=""> - - Select accountcode first - - </option>');
        }
	});

      $('#item').on('change',function(){
        var ITMID = $(this).vaL();
        if(ITMID){
            $.ajax({
              type:'POST',
              url:'ajaxData.php',
              data:'item_id='+ITMID
            });
		}
        });
      });
function fncAdd(){
	 var tb = document.getElementById('tbl');
	 var tbody = document.createElement('tbody');
	     tb.insertBefore(tbody, null);
	   tr = document.createElement("tr");
	     tbody.insertBefore(tr, null);

  td =  document.createElement("td");
  var id = document.createTextNode("");
      td.insertBefore(id, null);
      tr.insertBefore(td, null);

	 td =  document.createElement("td");
	 var se = document.createElement("select");
	   se.setAttribute('id','accountcode');
	   se.options[0] = new Option(" - - Please select - - ","");
	   se.options[0].selected =1;
      td.insertBefore(se, null);
	    tr.insertBefore(td, null);
	 td = document.createElement("td");
	 se = document.createElement("select");
	   se.setAttribute('id','item');
	   se.options[0] = new Option(" - - Select accountcode first - - ","");
	   se.options[0].selected =1;
      td.insertBefore(se, null);
	    tr.insertBefore(td, null);

  td = document.createElement("td");
  var txt = document.createElement("input");
     txt.setAttribute('type',"text");
     txt.setAttribute('name',"txtAMOUNT");
     txt.setAttribute('size',7);
      td.insertBefore(txt, null);
	    tr.insertBefore(td, null);

	 td = document.createElement("td");
	 var txt = document.createElement("input");
     txt.setAttribute('type',"text");
     txt.setAttribute('name',"txtUNIT");
     txt.setAttribute('size',7);
      td.insertBefore(txt, null);
	    tr.insertBefore(td, null);

	 td = document.createElement("td");
	 var txtarea = document.createElement("textarea");
	   txtarea.setAttribute('rows',3);
	   txtarea.setAttribute('cols',15);
      td.insertBefore(txtarea, null);
	    tr.insertBefore(td, null);

	 td = document.createElement("td");
	 se = document.createElement("select");
	   se.setAttribute('name','status');
	   se.options[0] = new Option("yes","value 1");
	   se.options[1] = new Option("no","value 2");
	   se.options[0].selected =1;
      td.insertBefore(se, null);
	    tr.insertBefore(td, null);

	    tb.appendChild(tbody);

}

function fncDelete(){
		var  tb =document.getElementById('tbl');
		var del = tb.rows.length;
		if(del>2){
			tb.deleteRow(del-1);
		}
}
</script>
<form id="frm">
<table id="tbl" table width="70%" border=1>
<tr>
<td width="1%"><div align="center">ลำดับ</div></td>
<td width="2%"><div align="center">Account code</div></td>
<td width="4%"><div align="center">รายการ</div></td>
<td width="1%"><div align="center">จำนวน</div></td>
<td width="1%"><div align="center">หน่วย</div></td>
<td width="1%"><div align="center">หมายเหตุ</div></td>
<td width="1%"><div align="center">แนบไฟล์</div></td>
</tr>
	<td>
  </td>
	<?php
 	include 'dbConfig.php';
 	$query = $db->query("SELECT * FROM accountcode ORDER BY acc_id ASC ");
 	$rowCount = $query->num_rows;
 	?>
	<td>
	  <select id="accountcode">
  			<option value="">- - Please select - -</option>
			<?php
  			if($rowCount > 0){
      			while($row=$query->fetch_assoc()){
        	echo '<option value="'.$row['acc_id'].'">'.$row['acc_name'].'</option>';
      			}
    		}else{
      			echo '<option value=""> Accountcode not available </option>';
    		}
  			?>
   	  </select>
	</td>
	<td>
	  <select id="item">
    		<option value=""> - - Select accountcode first - -</option>
	  </select>
	</td>
	<td>
		<input type="text" name="txtAMOUNT" size="7">
	</td>
	<td>
		<input type="text" name="txtUNIT" size="7">
	</td>
	<td>
		<textarea rows=3 cols=15  name="note"></textarea>
	</td>
	<td>
		<select name="status">
			<option value="val1">yes</option>
			<option value="val2">no</option>
		</select>
	</td>
</tr>
</table>
<input type="button" value="ADD" onclick="fncAdd()">
<input type="button" value="DEL" onclick="fncDelete()">
</form>


ขอความกรุณาด้วยครับ
ท้ังนี้ทั้งนั้น dropdown ทั้งสองอันเชื่อมกันดึงข้อมูลมาจากฐาน Database นะครับ



Tag : PHP, MySQL, HTML, JavaScript, Ajax









ประวัติการแก้ไข
2019-06-19 17:25:52
2019-06-19 17:26:48
2019-06-19 17:27:47
2019-06-19 17:29:10
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-06-19 17:24:14 By : 2246598742088718 View : 231 Reply : 5
 

 

No. 1



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

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

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

ถ้าจะทำต่อแบบเดิม หลัง clone มา ต้องไล่ reset พวก default value ออกให้หมดครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-06-24 15:07:29 By : mongkon.k
 


 

No. 2



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

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

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

clear-text-field-value-in-clone-object
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-06-24 16:53:59 By : Manussawin
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mongkon.k เมื่อวันที่ 2019-06-24 15:07:29
รายละเอียดของการตอบ ::
มีตัวอย่างคร่าวๆไหมครับ รบกวนด้วยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-06-25 16:46:19 By : 2246598742088718
 


 

No. 4



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

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

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

ตอบความคิดเห็นที่ : 3 เขียนโดย : 2246598742088718 เมื่อวันที่ 2019-06-25 16:46:19
รายละเอียดของการตอบ ::
No.2 ข้างบนครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-06-27 15:49:33 By : mongkon.k
 


 

No. 5



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



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


ลองตาม คห.2 แล้วครับปรากฏว่าค่าของ dropdown ช่องรายการไม่เป็นค่าเปล่าครับ ค้างค่าของ row ต้นแบบไว้ ต้องแก้ยังไงหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-06-28 10:07:17 By : 2246598742088718
 

   

ค้นหาข้อมูล


   
 

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

Load balance : Server 05
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 , 08-9968-0655 อัตราราคา คลิกที่นี่