Javascript 基于输入信息的PHP if函数不起作用
基本上,我是从表单中提取信息,我想根据用户的输入回显不同的内容。然而,我只得到了第一个结果。我怎样才能解决这个问题?代码如下:Javascript 基于输入信息的PHP if函数不起作用,javascript,php,html,forms,input,Javascript,Php,Html,Forms,Input,基本上,我是从表单中提取信息,我想根据用户的输入回显不同的内容。然而,我只得到了第一个结果。我怎样才能解决这个问题?代码如下: <head> <title></title> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script> <scrip
<head>
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript">
function showHide() {
var div = document.getElementById("hidden");
if (div.style.display == 'none') {
div.style.display = '';
}
else {
}
}
</script>
<script type="text/javascript">
$(function () {
$('form').on('submit', function (e) {
$.ajax({
type: 'post',
url: 'post.php',
data: $('form').serialize(),
success: function () {
alert('form was submitted');
}
});
e.preventDefault();
});
});
</script>
</head>
<body>
<form action="" method="post">
<input type="text" name="t0i"><input type="submit" onclick="showHide();">
</form>
<div style="display:none;" id="hidden">
<?php
$t0 = $_POST["t0i"];
if ($t0 = "1") {
echo "result 1";
}
elseif ($t0 = "2") {
echo "result 2";
}
elseif ($t0 = "3") {
echo "result 3";
}
else {
echo "no result, try again";
}
?>
</div>
</body>
函数showHide(){
var div=document.getElementById(“隐藏”);
如果(div.style.display=='none'){
div.style.display='';
}
否则{
}
}
$(函数(){
$('form')。关于('submit',函数(e){
$.ajax({
键入:“post”,
url:'post.php',
数据:$('form')。序列化(),
成功:函数(){
警报(“表格已提交”);
}
});
e、 预防默认值();
});
});
javascript是必不可少的,它在提交时显示隐藏结果(display:none;),第二个脚本确保提交表单后页面不会刷新(所有操作都在同一页面上完成)。然而,删除这两个脚本并不能解决我的问题。我感觉问题出在PHP中,但我不知道它是什么。提前谢谢。这是一个演示:给你:)
正确:
if ($t0 == "1")
给你:)
正确:
if ($t0 == "1")
正如Sergey指出的,你需要使用双等号进行比较。请查看手册页:
正如谢尔盖指出的那样,需要使用双等号进行比较。请查看手册页:
运算符=用于赋值。运算符==在两种不同类型(如果它们不同)之间强制转换,而===运算符执行“类型安全比较”。这意味着只有当两个操作数的类型和值相同时,它才会返回true 示例:
$a = 1; // assign value
1 === 1: true
1 == 1: true
1 === "1": false // 1 is an integer, "1" is a string
1 == "1": true // "1" gets casted to an integer, which is 1
"foo" === "foo": true // both operands are strings and have the same value
您可以使用开关语句
Switch:Switch语句类似于同一表达式上的一系列IF语句。在许多情况下,您可能希望将同一变量(或表达式)与许多不同的值进行比较,并根据它等于哪个值执行不同的代码段
$t0 = $_POST["t0i"];
switch ($t0) {
case 1:
echo "result 1";
break;
case 2:
echo "result 2";
break;
case 3:
echo "result 3";
break;
default:
echo "no result, try again";
break;
}
运算符=用于赋值。运算符==在两种不同类型之间进行强制转换(如果它们不同),而运算符===执行“类型安全比较”。这意味着只有当两个操作数的类型和值相同时,它才会返回true 示例:
$a = 1; // assign value
1 === 1: true
1 == 1: true
1 === "1": false // 1 is an integer, "1" is a string
1 == "1": true // "1" gets casted to an integer, which is 1
"foo" === "foo": true // both operands are strings and have the same value
您可以使用开关语句
Switch:Switch语句类似于同一表达式上的一系列IF语句。在许多情况下,您可能希望将同一变量(或表达式)与许多不同的值进行比较,并根据它等于哪个值执行不同的代码段
$t0 = $_POST["t0i"];
switch ($t0) {
case 1:
echo "result 1";
break;
case 2:
echo "result 2";
break;
case 3:
echo "result 3";
break;
default:
echo "no result, try again";
break;
}
我已经使用Firebug进行了检查,它给出了未定义的索引:t0i post没有赋值。所以没有条件被满足,所以你没有得到任何结果
<head>
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript">
function showHide() {
var div = document.getElementById("hidden");
if (div.style.display == 'none') {
div.style.display = '';
}
else {
}
}
</script>
<script type="text/javascript">
$(function () {
$('form').on('submit', function (e) {
var val=$('#t0i').val();
$.ajax({
type: 'POST',
url: 'form.php',
data:{val:val},
success: function (data) {
if (val == "1"){
$('#hidden').html("result 1");
}
else if (val== "2"){
$('#hidden').html("result 2");
}
else if (val == "3") {
$('#hidden').html("result 3");
}
else {
$('#hidden').html("no result, try again");
}
}
});
e.preventDefault();
});
});
</script>
</head>
<body>
<form action="" method="post">
<input id="t0i" type="text" name="t0i"><input type="submit" onclick="showHide();">
</form>
<div style="display:none;" id="hidden">
</div>
</body>
函数showHide(){
var div=document.getElementById(“隐藏”);
如果(div.style.display=='none'){
div.style.display='';
}
否则{
}
}
$(函数(){
$('form')。关于('submit',函数(e){
var val=$('#t0i').val();
$.ajax({
键入:“POST”,
url:'form.php',
数据:{val:val},
成功:功能(数据){
如果(val=“1”){
$('#hidden').html(“结果1”);
}
否则,如果(val==“2”){
$('#hidden').html(“结果2”);
}
否则,如果(val==“3”){
$('#hidden').html(“结果3”);
}
否则{
$('#hidden').html(“没有结果,请重试”);
}
}
});
e、 预防默认值();
});
});
我已经使用Firebug进行了检查,它给出了未定义的索引:t0i
post没有赋值。所以没有条件被满足,所以你没有得到任何结果
<head>
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript">
function showHide() {
var div = document.getElementById("hidden");
if (div.style.display == 'none') {
div.style.display = '';
}
else {
}
}
</script>
<script type="text/javascript">
$(function () {
$('form').on('submit', function (e) {
var val=$('#t0i').val();
$.ajax({
type: 'POST',
url: 'form.php',
data:{val:val},
success: function (data) {
if (val == "1"){
$('#hidden').html("result 1");
}
else if (val== "2"){
$('#hidden').html("result 2");
}
else if (val == "3") {
$('#hidden').html("result 3");
}
else {
$('#hidden').html("no result, try again");
}
}
});
e.preventDefault();
});
});
</script>
</head>
<body>
<form action="" method="post">
<input id="t0i" type="text" name="t0i"><input type="submit" onclick="showHide();">
</form>
<div style="display:none;" id="hidden">
</div>
</body>
函数showHide(){
var div=document.getElementById(“隐藏”);
如果(div.style.display=='none'){
div.style.display='';
}
否则{
}
}
$(函数(){
$('form')。关于('submit',函数(e){
var val=$('#t0i').val();
$.ajax({
键入:“POST”,
url:'form.php',
数据:{val:val},
成功:功能(数据){
如果(val=“1”){
$('#hidden').html(“结果1”);
}
否则,如果(val==“2”){
$('#hidden').html(“结果2”);
}
否则,如果(val==“3”){
$('#hidden').html(“结果3”);
}
否则{
$('#hidden').html(“没有结果,请重试”);
}
}
});
e、 预防默认值();
});
});
你的if条件必须是'=='不是'='你的if条件必须是'='不是'='有时这个错误会让我发疯。)现在我一直得到“没有结果”(否则)。。。我做错了什么?好吧,试着打印$u POST[“t0i”]并确保它具有预期的值var\u dump($u POST[“t0i”])有时这个错误会让我发疯。)现在我一直得到“无结果”(否则)。。。我做错了什么?好的,试着打印$u POST[“t0i”]并确保它具有预期的值var\u dump($u POST[“t0i”]),现在我继续得到“无结果”(否则)。。。我做错什么了?你能把你的电子邮件发出去吗