Javascript 需要从表单中获取输入,使用php进行处理,并根据答案选择重新加载页面
这是我的问题 我在这个地址上有一个startpage网站: 它主要围绕首页中执行命令的搜索栏展开。目前,每个命令都是用php处理的,如下所示:Javascript 需要从表单中获取输入,使用php进行处理,并根据答案选择重新加载页面,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,这是我的问题 我在这个地址上有一个startpage网站: 它主要围绕首页中执行命令的搜索栏展开。目前,每个命令都是用php处理的,如下所示: if (isset($_POST['searchBar'])) { $originalcommand = $_POST['searchBar']; processcommand($originalcommand); return; } 这样,每个命令都会重新加载页面,这是一种浪费,因为大多数时候它只是从起始页面打开一些链接。在其
if (isset($_POST['searchBar'])) {
$originalcommand = $_POST['searchBar'];
processcommand($originalcommand);
return;
}
这样,每个命令都会重新加载页面,这是一种浪费,因为大多数时候它只是从起始页面打开一些链接。在其他情况下,startpage由命令更改,因此在这些情况下,我希望重新加载页面
我从其他问题中看到,您可以不使用AJAX重新加载页面,但我看到的答案中没有一个将表单输入发送到php进行处理,也没有包括在必要时重新加载的选项
我是一个非常业余的程序员,对AJAX没有任何经验,请不要对我太过技术化。我痴迷于这个起始页,我只需要让它按预期工作。请帮忙 是的,您应该通过AJAX发送数据。一个流行的选择是使用。下面是一个使用jQuery的简化示例 首先,HTML:
<input id="searchBar" name="searchBar" type="text" />
<button id="submit">Search</button>
<div id="searchResults"></div>
搜索
接下来是jQuery:
<script type="text/javascript">
$("#submit").click(function() {
$.ajax({
type: "post",
url: "search.php", // Your PHP file
data: {
searchBar: $("#searchBar").val()
},
success:function(results) {
// Do something with your results
$("#searchResults").html(results);
}
});
});
</script>
$(“#提交”)。单击(函数(){
$.ajax({
类型:“post”,
url:“search.php”//您的php文件
数据:{
搜索栏:$(“#搜索栏”).val()
},
成功:功能(结果){
//对你的结果做点什么
$(“#搜索结果”).html(结果);
}
});
});
如果直接使用PHP,则需要重新加载页面。如果你使用AJAX,那么你可以不用重新加载就发送它-您需要一个新的PHP文件来处理输入-!一个使用jquery但工作原理相同的示例:
您可以访问普通站点:
<form action=''>
<input type='email' id='email' placeholder='E-Mail' required=""/>
<input type='password' id='pwd' placeholder='Passwort' required=""/>
<button id='go_login'>Go</button>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$('#go_login').click(function() {
var bn = $('#email').val();
var pw = $('#pwd').val();
$.post('newphpsite.php', {'bn': bn, 'pw': pw}, function(data) {
alert(data); //send back echo from PHP
});
return false; //The form is not sent and does not reload the page.
});
</script>
去
$('go#u login')。单击(函数(){
var bn=$('#email').val();
var pw=$('#pwd').val();
$.post('newphpsite.php',{'bn':bn,'pw':pw},函数(数据){
警报(数据);//从PHP发回回声
});
return false;//表单不会发送,也不会重新加载页面。
});
newphpsite.php:
<?php
$bn = $_POST['bn'];
$pw = $_POST['pw'];
echo $bn."".$pw;
?>
?>非常感谢,你让我离解决问题很近了。Ajax当前获取输入,并将其正确发送到php。但是,由于某些原因,当php文件尝试执行适当的操作时,它无法识别来自其链接到的其他php文件的命令。我得到的错误是:“致命错误:调用未定义的函数”。因此,如果我让php处理整个输入,它会工作,如果它从ajax获得输入,它不会。有什么想法吗?算了吧,我解决了那个问题。它还没有完全起作用,但我已经恢复了状态。谢谢。很抱歉延迟回复,最近几天我没有多少空闲时间。