Hy vọng ai đó có thể giúp tôi .. Tôi đã làm cho chương trình của mình đơn giản hơn để mọi người sẽ hiểu .. Tôi muốn chương trình của mình nhận được giá trị của không cần gửi, tôi biết rằng điều này chỉ có thể được thực hiện bởi JavaScript hoặc JQuery để tôi sử dụng Onchange , nhưng điều tôi muốn là khi tôi chọn một tùy chọn, giá trị sẽ được truyền ngay lập tức trên cùng một trang nhưng sử dụng PHP ..
<select id="id_select" name="name" onChange="name_click()"> <option value="1">one</option> <option value="2">two</option> </select> <script> function name_click(){ value_select = document.getElementById("id_select").value; } </script>Và sau đó tôi nên chuyển value_select vào php trong phương thức bài đăng .. Tôi không biết làm thế nào tôi sẽ làm điều đó .. xin vui lòng giúp tôi ..
Hỏi ngày 4 tháng 9 năm 2013 lúc 9:24Sep 4, 2013 at 9:24
1
Bạn không thể làm điều này bằng cách sử dụng PHP mà không gửi trang. Mã PHP thực thi trên máy chủ trước khi trang được hiển thị trong trình duyệt. Khi người dùng thực hiện bất kỳ hành động nào trên trang (ví dụ: chọn một mục trong danh sách thả xuống), không còn PHP nữa. Cách duy nhất bạn có thể đưa mã này vào PHP là gửi trang.before the page is rendered in the browser. When a user then performs any action on the page (e.g. selects an item in a dropdown list), there is no PHP any more. The only way you can get this code into PHP is by submitting the page.
Tuy nhiên, những gì bạn có thể làm là sử dụng JavaScript để nhận giá trị - và sau đó bắn yêu cầu AJAX vào tập lệnh PHP chuyển giá trị đã chọn và sau đó xử lý các kết quả, ví dụ:
$(document).ready(function() { $('#my_select').on('change', do_something); }); function do_something() { var selected = $('#my_select').val(); $.ajax({ url: '/you/php/script.php', type: 'POST', dataType: 'json', data: { value: selected }, success: function(data) { $('#some_div').html(data); } }); }Với mã này, bất cứ khi nào tùy chọn được chọn thay đổi trong danh sách thả xuống, yêu cầu POST sẽ bị tắt vào tập lệnh PHP của bạn, chuyển giá trị đã chọn cho nó. Sau đó, HTML được trả lại sẽ được đặt vào DIV với ID some_div.
Đã trả lời ngày 4 tháng 9 năm 2013 lúc 9:27Sep 4, 2013 at 9:27
Aleks Galeks gAleks G
55.3K27 Huy hiệu vàng162 Huy hiệu bạc257 Huy hiệu đồng27 gold badges162 silver badges257 bronze badges
3
không chắc chắn .. nhưng tôi đoán Ajax là những gì bạn cần ..
<script> function name_click(){ value_select = $("#id_select").val(); $.post('path/to/your/page',{"value":value_select},function(data){ alert('done') }) } </script>PHP
$value=$_POST['value']; //gives you the value_select dataĐã trả lời ngày 4 tháng 9 năm 2013 lúc 9:26Sep 4, 2013 at 9:26
Bipenbipenbipen
359K9 Huy hiệu vàng46 Huy hiệu bạc62 Huy hiệu Đồng9 gold badges46 silver badges62 bronze badges
2
Đăng với Ajax khi Alex G đang nói với bạn (+1) và sau đó xử lý bài viết bằng PHP. Bạn có thể xác định một cuộc gọi lại trong JavaScript sẽ chạy khi trang phản hồi.
Đã trả lời ngày 4 tháng 9 năm 2013 lúc 9:57Sep 4, 2013 at 9:57
Lajos Arpadlajos ArpadLajos Arpad
57.8K32 Huy hiệu vàng95 Huy hiệu bạc165 Huy hiệu Đồng32 gold badges95 silver badges165 bronze badges
Đề nghị của tôi đi với jQuery. Hãy thử với điều này
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> <script> $(document).ready(function(){ $("#id_select").change(function(){ var url = '\\localhost\getdata.php'; //URL where you want to send data var postData = {'value' : $(this).value}; $.ajax({ type: 'POST', url: url, data : postData, dataType: 'json', success: function(data) { // }, error: function(e) { console.log(e.message); } }); }) }) </script>Trong getdata.php
<?php var $value = $_POST['value']; // you can do your logic ?>Đã trả lời ngày 4 tháng 9 năm 2013 lúc 9:39Sep 4, 2013 at 9:39
SenthilsenthilSenthil
5295 Huy hiệu bạc11 Huy hiệu đồng5 silver badges11 bronze badges