Php 在不打开结果新页面的情况下,将表单的结果获取到div
如何使用ajax或任何其他方法将result.php的结果输入欢迎div,以防止加载新页面Php 在不打开结果新页面的情况下,将表单的结果获取到div,php,jquery,ajax,Php,Jquery,Ajax,如何使用ajax或任何其他方法将result.php的结果输入欢迎div,以防止加载新页面 <div id="welcome"> <form action="result.php" method="post"> <input type="hidden" id="date" name="selected"/> <
<div id="welcome">
<form action="result.php" method="post">
<input type="hidden" id="date" name="selected"/>
<select id="city" class="cities" data-role="none" name="City">
<option value="">Anyplace</option>
.
.
.
</select>
<select id="type" class="cities" data-role="none" name="Event">
<option value="">Anything</option>
.
.
.
</select>
<input type="submit" class="button" value="Ok Go!"/>
<input id="current" name="current" type="hidden"/>
</form>
</div>
随便
.
.
.
任何东西
.
.
.
您可以使用jQuery Ajax执行类似的操作
在头标签或页脚中使用以下代码
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type='text/javascript>
$('document').ready(function(){ //after page load
$('.button').on('click', function(e){
e.preventDefault(); //prevent default action
$.ajax({
'url': 'result.php',
'type: 'POST',
'success': function(response){
$('#welcome').html(response);
}
});
});
});
</script>
您可以使用jQueryAjax执行类似的操作
在头标签或页脚中使用以下代码
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type='text/javascript>
$('document').ready(function(){ //after page load
$('.button').on('click', function(e){
e.preventDefault(); //prevent default action
$.ajax({
'url': 'result.php',
'type: 'POST',
'success': function(response){
$('#welcome').html(response);
}
});
});
});
</script>
valit是使页面重新加载的action=“result.php”
您可以尝试为表单提供一个id,并使用一个简单的ajax调用:
$("#formId").submit(function() {
$.ajax({
url: 'result.php',
success: function(response) {
$("#welcome").setValue(response); // update the DIV
}
});
return false; // prevent form submitting
});
干杯valit是让页面重新加载的action=“result.php”
您可以尝试为表单提供一个id,并使用一个简单的ajax调用:
$("#formId").submit(function() {
$.ajax({
url: 'result.php',
success: function(response) {
$("#welcome").setValue(response); // update the DIV
}
});
return false; // prevent form submitting
});
干杯如果您是通过AJAX实现的,那么就不需要
代码。
代码仅在您发布到其他页面并且希望视图无论如何都会更改/刷新时才有用
此外,在本例中使用
代码将导致页面刷新(jQuery插入的值将丢失),以便使用“设置隐藏字段当前值”按钮获得附加位。这在你的真实世界应用程序中并不重要,仅供参考
Ajax包含在javascript代码中,如下所示:
$('#mySelect').change(function() {
var sel = $(this).val();
//alert('You picked: ' + sel);
$.ajax({
type: "POST",
url: "your_php_file.php",
data: 'theOption=' + sel,
success: function(whatigot) {
alert('Server-side response: ' + whatigot);
} //END success fn
}); //END $.ajax
}); //END dropdown change event
请注意,PHP文件中的数据ECHO'd进入AJAX调用的success函数中的HTML文档,并且必须在那里进行处理。这就是将接收到的数据插入DOM的地方
例如,假设您的HTML文档有一个DIV,带有id=“myDiv”
。要将PHP中的数据插入HTML文档,请替换以下行:alert('服务器端响应:'+whatigot)代码>使用此选项:
$('#myDiv').html(whatIgot);
普雷斯托!现在,您的DIV包含了从PHP文件中回显的数据
下面是您自己的示例的工作解决方案,使用AJAX:
HTML标记:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#mybutt').on('click', function(e){
e.preventDefault(); //prevent default action
var ct = $('#city').val();
var dt = $('#date').val()
var ty = $('#type').val();
var curr = $('#current').val();
$.ajax({
url: 'result.php',
type: 'POST',
data: 'ct=' +ct+ '&dat=' +dt+ '&t=' +ty+ '&curr=' +curr,
success: function(response){
$('#welcome').html(response);
}
});
});
$('#mycurr').click(function(){
var resp = prompt("Please type something:","Your name");
$('#current').val(resp);
});
}); //END $(document).ready()
</script>
</head>
<body>
<div id="welcome">
<input type="hidden" id="date" name="selected"/>
<select id="city" class="cities" data-role="none" name="City">
<option value="sumwhere">Anyplace</option>
<option value="anutherwhere">Another place</option>
</select>
<select id="type" class="cities" data-role="none" name="Event">
<option value="sumthing">Anything</option>
<option value="anutherthing">Another thing</option>
</select>
<input type="submit" id="mybutt" class="button" value="Ok Go!"/>
<input type="submit" id="mycurr" class="button" value="Set value for hidden field CURRENT"/>
<input id="current" name="current" type="hidden"/>
</div>
</body>
</html>
$(文档).ready(函数(){
$('mybutt')。在('click',函数(e)上{
e、 preventDefault();//防止默认操作
var ct=$('#city').val();
var dt=$('日期').val()
var ty=$('#type').val();
var curr=$('#current').val();
$.ajax({
url:'result.php',
键入:“POST”,
数据:'ct='+ct+'&dat='+dt+'&t='+ty+'&curr='+curr,
成功:功能(响应){
$('welcome').html(回复);
}
});
});
$('#mycurr')。单击(函数(){
var resp=prompt(“请键入某物:”,“您的姓名”);
$('当前').val(分别);
});
}); //END$(document.ready())
随便
另一个地方
任何东西
还有一件事
PHP处理器文件:result.PHP
$ct=$\u POST['ct'];
$date=$_POST['dat'];
$typ=$_POST['t'];
$cu=$_POST['curr'];
如果($date=''){
$date='其他日期';
}
$r='从PHP发送的结果';
$r.='所选城市为:['.$ct.]
;
$r.='所选日期为:['.$date.']
;
$r.='所选类型为:['.$typ.']
;
$r.='隐藏字段#当前为:['.$cu.]
;
$r.=“这就是她写的全部……”;
echo$r;
如果您是通过AJAX实现的,那么就不需要
代码。
代码仅在您发布到其他页面并且希望视图无论如何都会更改/刷新时才有用
此外,在本例中使用
代码将导致页面刷新(jQuery插入的值将丢失),以便使用“设置隐藏字段当前值”按钮获得附加位。这在你的真实世界应用程序中并不重要,仅供参考
Ajax包含在javascript代码中,如下所示:
$('#mySelect').change(function() {
var sel = $(this).val();
//alert('You picked: ' + sel);
$.ajax({
type: "POST",
url: "your_php_file.php",
data: 'theOption=' + sel,
success: function(whatigot) {
alert('Server-side response: ' + whatigot);
} //END success fn
}); //END $.ajax
}); //END dropdown change event
请注意,PHP文件中的数据ECHO'd进入AJAX调用的success函数中的HTML文档,并且必须在那里进行处理。这就是将接收到的数据插入DOM的地方
例如,假设您的HTML文档有一个DIV,带有id=“myDiv”
。要将PHP中的数据插入HTML文档,请替换以下行:alert('服务器端响应:'+whatigot)代码>使用此选项:
$('#myDiv').html(whatIgot);
普雷斯托!现在,您的DIV包含了从PHP文件中回显的数据
下面是您自己的示例的工作解决方案,使用AJAX:
HTML标记:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#mybutt').on('click', function(e){
e.preventDefault(); //prevent default action
var ct = $('#city').val();
var dt = $('#date').val()
var ty = $('#type').val();
var curr = $('#current').val();
$.ajax({
url: 'result.php',
type: 'POST',
data: 'ct=' +ct+ '&dat=' +dt+ '&t=' +ty+ '&curr=' +curr,
success: function(response){
$('#welcome').html(response);
}
});
});
$('#mycurr').click(function(){
var resp = prompt("Please type something:","Your name");
$('#current').val(resp);
});
}); //END $(document).ready()
</script>
</head>
<body>
<div id="welcome">
<input type="hidden" id="date" name="selected"/>
<select id="city" class="cities" data-role="none" name="City">
<option value="sumwhere">Anyplace</option>
<option value="anutherwhere">Another place</option>
</select>
<select id="type" class="cities" data-role="none" name="Event">
<option value="sumthing">Anything</option>
<option value="anutherthing">Another thing</option>
</select>
<input type="submit" id="mybutt" class="button" value="Ok Go!"/>
<input type="submit" id="mycurr" class="button" value="Set value for hidden field CURRENT"/>
<input id="current" name="current" type="hidden"/>
</div>
</body>
</html>
$(文档).ready(函数(){
$('mybutt')。在('click',函数(e)上{
e、 preventDefault();//防止默认操作
var ct=$('#city').val();
var dt=$('日期').val()
var ty=$('#type').val();
var curr=$('#current').val();
$.ajax({
url:'result.php',
键入:“POST”,
数据:'ct='+ct+'&dat='+dt+'&t='+ty+'&curr='+curr,
成功