希望有人能帮助我。。我把我的程序做得更简单了,这样每个人都能理解。。我希望我的程序在不提交的情况下获得的值,我知道这只能通过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方法中将valueselect传递到php中。。我不知道该怎么做。请帮帮我。
如果不提交页面,就无法使用PHP来完成此操作。PHP代码在浏览器中呈现页面之前在服务器上执行。当用户在页面上执行任何操作(例如,在下拉列表中选择一个项目)时,就不再有PHP了。将这些代码输入PHP的唯一方法是提交页面。
然而,可以使用javascript获取值,然后向传递所选值的php脚本发出AJAX请求,然后处理结果,例如
$(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);
}
});
}
有了这段代码,每当下拉列表中所选的选项发生变化时,就会向php脚本发出POST请求,并将所选的值传递给它。然后,返回的HTML将被设置到ID为some_div
的div中。
不确定。。但我想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
按照Alex G告诉您的那样用ajax发布(+1),然后用PHP处理帖子。您可以在Javascript中定义一个回调,该回调将在页面响应时运行。
我的建议是使用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
?>