希望有人可以帮助我.. 我使我的程序更简单,以便每个人都能理解.. 我希望我的程序获得没有提交的值,我知道这只能通过javascript或jquery来完成所以我使用onChange,但我想要的是当我选择一个选项时,值应该立即传递给它页面,但使用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>
然后我应该在post方法中将value_select传递给php ..我不知道我会怎么做..请帮助我..
答案 0 :(得分:3)
如果不提交页面,则无法使用PHP执行此操作。 PHP代码在服务器上执行,然后在浏览器中呈现页面。当用户然后在页面上执行任何操作(例如,选择下拉列表中的项目)时,不再有PHP。将此代码导入PHP的唯一方法是提交页面。
你可以做的是使用javascript来获取值 - 然后激活AJAX请求到传递所选值的php脚本,然后处理结果,例如
$(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);
}
});
}
使用此代码,只要所选选项在下拉列表中发生更改,POST请求就会触发到您的php脚本,并将所选值传递给它。然后,返回的HTML将被设置为ID为some_div
的div。
答案 1 :(得分:0)
不确定..但我想ajax就是你需要的......
<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
答案 2 :(得分:0)
我的建议是jquery。试试这个
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
<script>
$(document).ready(function(){
$("#id_select").change(function(){
var url = 'http:\\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>
在getdata.php中
<?php
var $value = $_POST['value'];
// you can do your logic
?>
答案 3 :(得分:0)
发布ajax,Alex G告诉你(+1),然后用PHP处理帖子。您可以在Javascript中定义一个回调,该回调将在页面响应时运行。