Show ________số 8_______
Chào buổi chiều những người yêu thích của tôi. Có một cái đơn giản cho tất cả các bạn (ít nhất tôi đã được một người bạn không biết JS nói rằng nó rất dễ)
Vì vậy, tôi có một biểu mẫu có tên và số lần người đó xuất hiện trên bảng điểm danh. Ví dụ
Điều tôi cần làm là giúp người dùng có thể nhấp vào nút và một trường mới xuất hiện. Trường mới cần có cấu trúc giống như dữ liệu trên. Có nghĩa là tên, nhãn số lượng và trường đầu vào để nhập một số giá trị số lượng. Tuy nhiên, đối với các trường này, trường tên sẽ được để trống để người dùng nhập tên của mình. tên không có trong danh sách tên hiện tại của chúng tôi. Vì vậy, mỗi hàng trong biểu mẫu trên sẽ có 3 div nổi ở bên trái (chỉ để giữ cho mọi thứ đồng nhất, tôi đã sử dụng các lớp). Nếu tôi là người dùng, tôi sẽ thấy một biểu mẫu yêu cầu tôi nhập tên mới, sau đó ở bên phải của từ số lượng, tôi sẽ có tùy chọn nhập giá trị vào hộp văn bản
Câu hỏi của tôi là. Có cách nào để nhấp vào một nút duy nhất và javascript tạo chính xác những gì tôi đã định dạng không?
<div class="names"> <input type="text" name="I don't know what would need to be here" value="I dont know what would need to be here" /> <input type="hidden" name="name_labels[]" value="I don't know what would need to be here" /> </div> <div class="quantity"> Quantity </div> <div class="quantity_field"> <input type="text" name="quantity[Whatever went in the value of the hidden input] /> </div>
Ai đó có thể giúp tôi với điều này?
Trân trọng, Bl4ck Maj1k Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn đào tẩuĐăng ngày 3 tháng 6 năm 2011 đào tẩu
Đăng ngày 3 tháng 6 năm 2011 bạn có thể sử dụng một sự kiện onclick. khi sự kiện được kích hoạt, nó sẽ thực thi một chức năng sử dụng tài liệu. write() để thêm dữ liệu mà bạn muốn thêm Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn Bl4ckMaj1kĐăng ngày 3 tháng 6 năm 2011 Bl4ckMaj1k
Đăng ngày 3 tháng 6 năm 2011
Tôi xin lỗi, tôi thực sự không có ý định trở thành 'NewB' hay 'Leech' hay bất cứ thứ gì bọn trẻ đang gọi chúng ngày nay. nhưng tôi thực sự không biết làm thế nào để tạo ra một sự kiện onclick ghi tất cả dữ liệu. Sắp xếp lý do tôi đăng ở đây. hy vọng có thể tôi có thể giúp một tay trong bộ phận đó. Tôi khá am hiểu về PHP nhưng khi nói đến JS thì tôi thực sự không biết gì. Tôi hiện đang đọc một trong những cuốn sách của O'Reilly về viết mã bằng Javascript nhưng tiếc là tôi phải đọc sách PHP trước. Vì vậy, tôi chỉ ở Chương 2 (eek. ). Bất kỳ trợ giúp sẽ được đánh giá rất cao và cảm ơn một lần nữa
Bl4ck Maj1k Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn PFMaBiSmAdĐăng ngày 3 tháng 6 năm 2011 PFMaBiSmAd
Đăng ngày 3 tháng 6 năm 2011 Bạn sẽ sử dụng tên trường mảng cho tất cả các trường (những trường mà trang của bạn tạo bằng dữ liệu hiện có và những trường được thêm động. ) tôi. e. tên="tên[]" và tên="số lượng[]". Tôi không hiểu tại sao bạn lại sử dụng trường ẩn
Mã thực tế để làm điều này sẽ giống như -
<script type="text/javascript"> function add_field(){ var max = 24; // total number of fields, adjust value as needed or for an unlimited number, just remove the test from the logic var cont = document.getElementById('addhere'); // refer to the div var numfields = cont.getElementsByTagName("input").length; // get number of input fields in the div if(numfields < max){ // create a div element var div1 = document.createElement('div'); // Get template data div1.innerHTML = document.getElementById('fieldtpl').innerHTML; // append to div, so that template data becomes part of document document.getElementById('addhere').appendChild(div1); } else { alert("You have reached the maximum number of fields\n that can be added at one time!"); } } </script> <form method="post" action="formaction.php" > <div id="addhere"> <div class="names"> <input type="text" name="name[]" value="some existing name" /> </div> <div class="quantity"> Quantity </div> <div class="quantity_field"> <input type="text" name="quantity[]" value="some existing qty"/> </div> </div> <a href="javascript:void(0);" onClick="add_field();">Click to add another name</a><br /> <input type="submit"> </form> <!-- Template. This whole section will be added directly to working div above --> <div id="fieldtpl" style="display:none"> <div class="names"> <input type="text" name="name[]" value="" /> </div> <div class="quantity"> Quantity </div> <div class="quantity_field"> <input type="text" name="quantity[]" value="" /> </div> </div>
Bằng cách sử dụng phương thức mẫu được hiển thị, bạn có thể dễ dàng sử dụng và tạo kiểu cho bất kỳ html nào mà không cần viết mã javascript cần thiết để tạo động từng phần tử tạo nên html đó Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn Bl4ckMaj1kĐăng ngày 3 tháng 6 năm 2011 Bl4ckMaj1k
Đăng ngày 3 tháng 6 năm 2011 CHỈNH SỬA
giải quyết. Tôi gặp sự cố vùng chứa div. Tôi đã phải xem lại mã của bạn và tôi nhận thấy như sau
nội dung
<đóng Div>
Đơn đặt hàng của tôi đã hết trước đó. Tôi không hiểu rằng nút này không được đặt bên trong div chính. cho đến khi tôi nhận thấy bạn đang chạy một phương thức nối thêm trong JavaScript mà tôi cho rằng nó sẽ nối thêm mã html đó vào div mà bạn đã xác định là cha. rực rỡ. Tôi nóng lòng chờ đến ngày tôi hiểu Javascript nhiều như hiểu PHP, HTML và CSS. Là nó phức tạp hơn của một ngôn ngữ?
Nhìn chung, bạn thật tuyệt vời. Tôi thực sự đánh giá cao bạn và tất cả những người khác trên diễn đàn này, những người đã giúp tất cả chúng tôi 'Oober-Newbz' khi có điều gì đó mà chúng tôi không hiểu
Cảm ơn rất nhiều Bl4ck Maj1k Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn Bl4ckMaj1kĐăng ngày 3 tháng 6 năm 2011 Bl4ckMaj1k
Đăng ngày 3 tháng 6 năm 2011 Một câu hỏi cuối cùng
<form method="post" action="formaction.php" > <div id="addhere"> <div class="names"> <input type="text" name="name[]" value="some existing name" /> </div> <div class="quantity"> Quantity </div> <div class="quantity_field"> <input type="text" name="quantity[]" value="some existing qty"/> </div> </div> <a href="javascript:void(0);" onClick="add_field();">Click to add another name</a><br /> <input type="submit"> </form> <!-- Template. This whole section will be added directly to working div above --> <div id="fieldtpl" style="display:none"> <div class="names"> <input type="text" name="name[]" value="" /> </div> <div class="quantity"> Quantity </div> <div class="quantity_field"> <input type="text" name="quantity[]" value="" /> </div> </div>
Nếu bạn để ý, Div đầu tiên có tùy chọn trường văn bản. Tôi muốn đó là giá trị tĩnh. Không phải là trường nhập liệu có thể nhập. Ví dụ
Chris Amy tom
Đó là những giá trị tĩnh. Họ đã có mặt trên bảng điểm danh của chúng tôi. Ví dụ, tôi có 10 cái tên hiện có trong danh sách của mình. Sau đó, tôi sử dụng các trường 'Khác' đó. Vấn đề là liên kết các giá trị với nhau. Làm cách nào để tạo một mảng cho 2 giá trị trường?
Chris Số lượng [] []
Nó sẽ là $_POST['name']['quantity'] ?? Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn PFMaBiSmAdĐăng ngày 3 tháng 6 năm 2011 PFMaBiSmAd
Đăng ngày 3 tháng 6 năm 2011 Có hai cách để làm những gì bạn yêu cầu -
1) Use the readonly="readonly" attribute in the name field for the existing students.
2) Just display the name without it being an field and use the name or corresponding id as the index in the name="quantity[name or index goes here...]". In this case you would probably want the dynamically added fields to use a different name="" attributes (dname[] and dquantity[] in the following) to distinguish them from the existing 'static' field, something like -
<form method="post" action="formaction.php" > <div id="addhere"> <div class="names"> some existing name </div> <div class="quantity"> Quantity </div> <div class="quantity_field"> <input type="text" name="quantity[123]" value="45" /> </div> </div> <a href="javascript:void(0);" onClick="add_field();">Click to add another name</a><br /> <input type="submit"> </form> <!-- Template. This whole section will be added directly to working div above --> <div id="fieldtpl" style="display:none"> <div class="names"> <input type="text" name="dname[]" value="" /> </div> <div class="quantity"> Quantity </div> <div class="quantity_field"> <input type="text" name="dquantity[]" /> </div> </div>
Điều này sẽ gửi một mảng bài đăng như -
Array ( [quantity] => Array ( [123] => 23 // the index is the id, the value is the quantity ) [dname] => Array ( [0] => A new name ) [dquantity] => Array ( [0] => 82 ) ) Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn Bl4ckMaj1kĐăng ngày 3 tháng 6 năm 2011 Bl4ckMaj1k
Đăng ngày 3 tháng 6 năm 2011
Phương pháp 2 có vẻ tốt và đủ đơn giản để tôi sử dụng. Vì vậy, tôi chỉ cần chạy 2 chức năng foreach riêng biệt? . Nếu trường hợp này xảy ra, làm cách nào để cơ sở dữ liệu biết khi nào tên[] được liên kết với số lượng cụ thể đó[]. Xin lỗi nếu tôi làm bạn thất vọng nhưng quá trình này hoàn toàn mới đối với tôi. lol Tôi chỉ muốn chắc chắn rằng tôi hiểu những thứ này hoạt động như thế nào để tham khảo trong tương lai Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn PFMaBiSmAdĐăng ngày 4 tháng 6 năm 2011 PFMaBiSmAd
Đăng ngày 4 tháng 6 năm 2011
Sử dụng vòng lặp foreach(){} để lặp lại mảng dname, nhận khóa key và giá trị. Sau đó, bên trong vòng lặp, sử dụng khóa đó để truy cập giá trị tương ứng từ mảng dquantity. Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn Bl4ckMaj1kĐăng ngày 4 tháng 6 năm 2011 Bl4ckMaj1k
Đăng ngày 4 tháng 6 năm 2011 -(
Tôi vẫn gặp vấn đề với điều này. Chìa khóa mà bạn nói đến là gì? . Tôi thậm chí không biết nếu đó là biểu tượng phù hợp cho nó. Bạn có thể giải thích thêm một chút? Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn PFMaBiSmAdĐăng ngày 4 tháng 6 năm 2011 PFMaBiSmAd
Đăng ngày 4 tháng 6 năm 2011 Xem cú pháp thứ hai được đề cập trong tài liệu - http. //us2. php. net/thủ công/vi/cấu trúc điều khiển. cho mỗi. php Làm cách nào để thêm các trường đầu vào một cách linh hoạt khi nhấp vào nút trong PHP?Bước1. Tạo biểu mẫu với nút Thêm trường. trong chỉ mục. php, chúng tôi sẽ Tạo nút thêm trường HTML để thêm các trường một cách linh hoạt Bước2. JavaScript để hình thành các trường đầu vào động. Trong add_fields. . Bước 3. Xử lý từ gửi giá trị ở cuối máy chủ. Bây giờ cuối cùng trong form_post Làm cách nào để thêm động các trường đầu vào và chuyển dữ liệu vào PHP?Cách Tự động Thêm/Xóa các trường nhập liệu trong PHP bằng Jquery. . |