目前我正在处理从xml文件中读取数据的php脚本。用户首先必须使用下拉菜单选择他想要获取更多信息的xml条目,然后通过单击提交按钮将表单发送到同一个php页面。由于页面重新加载,因此可以看到POST已发送某些内容,然后可以向页面底部的xml条目显示所请求的信息。
但我想让它更加用户友好。这个想法是,当有人从下拉列表中选择一个条目时,显示所请求的信息而不必单击提交按钮,当然也无需重新加载整个页面。这意味着POST表单将在后台发送,并且在从下拉列表中选择项目后会立即显示信息。
我知道这可以使用jQuery和AJAX,但我并没有真正体验过这些语言之一。有人知道如何解决这个问题? :)
由于
答案 0 :(得分:1)
您可以在按钮上使用以下代码: -
<div id="result"></div>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
jQuery.ajax({
url:'TO YOUR PHP PAGE',
type:'POST',
data:'id='+id,
success:function(results)
{
jQuery("#result").html(results);
}
});
答案 1 :(得分:1)
将主要文件中的js代码复制到下拉列表中: -
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('select').change(function(){
var dwxvar = $(this).val();
$.ajax({
type: "POST",
url: "http://localhost/dwx/phpcodefile.php",
data: {dwx:dwxvar},
cache: false,
dataType: 'json',
success: function(data_val){
alert(data_val);
$("#result").html(data_val);
}
});
});
});
</script>
我假设这是你的下拉菜单: -
<select>
<option value="1">Value 1</option>
<option value="2">Value 2</option>
<option value="3">Value 3</option>
<option value="4">Value 4</option>
</select>
你必须使用输出所需的唯一代码(php)制作一个单独的php文件(比如 phpcodefile.php ): -
<?php
$varname = $_POST["dwx"]; // this is the same variable which we have sent here data: {dwx:dwxvar},
// -- now using this value perform whatever action you want to perform below --
//Next try to put the result in a variable so as to return value to ajax call as we do for functions with return type. Suppose the variable name is **$alldata**
echo $alldata;
?>
您在 phpcodefile.php 文件上打印过的内容将会被返回,您可以在 alert()中看到该文件。这意味着所有数据现在都在&#34; data_val&#34; 这里
success: function(data_val){
alert(data_val);
}
现在您必须将此 data_val 附加到某个标记
<div id="result"></div>
像这样
$("#result").html(data_val);
尝试以这种方式执行代码,它将以您想要的方式工作。 如果您发现任何问题,那么我需要查看完整的HTML和PHP代码。