PHP if 基于输入信息的函数不起作用
PHP if functions based on input information not working
基本上,我是从表单中提取信息,我想根据用户的输入回显不同的东西。但是,我只得到了第一个结果。我该如何解决这个问题?这是代码:
<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>
javascript是必不可少的,它显示了隐藏的结果(display:none;)提交时,第二个脚本是确保提交表单后页面不会刷新(一切都在同一页面上完成)。但是,删除这两个脚本并不能解决我的问题。我有一种感觉,问题出在 PHP 中,但我无法弄清楚它是什么。提前谢谢。这是一个演示:
你在这里:)
if ($t0 = "1")
正确:
if ($t0 == "1")
正如谢尔盖指出的那样,您需要使用双等号进行比较。请看一下手册页:http://php.net/manual/en/control-structures.if.php
运算符 = 用于赋值。如果两种不同类型的类型不同,运算符 == 在两种不同类型之间进行转换,而 === 运算符执行"类型安全比较"。这意味着只有当两个操作数具有相同的类型和相同的值时,它才会返回 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>
相关文章:
- Javascript函数详细信息
- 函数将信息返回到控制台日志,但实际上并没有执行应有的操作
- php中的JavaScript函数,在点击时显示更多信息(数据库查询)
- 如何将代码隐藏信息传递到javascript函数中
- 从PHP向JavaScript函数发送信息
- PHP: header() 函数不重定向.使用 HTML 或 JavaScript 重定向时,会话信息会丢失
- Javascript对象,其属性是有关“this”的函数详细信息
- 与直接阵列访问相比,使用函数检索配置信息
- 除了隐藏在多范式/函数式语言(如 JavaScript)中的信息之外,闭包的真正价值主张是什么?
- 获取邮件中的信息.php从函数.js解析为manage.html
- 请解释有关 JavaScript 中的原型属性和函数构造函数的详细信息
- 将信息传递到 jQuery ajax 响应处理函数中
- 在哪里可以获得有关 JavaScript 函数的对象参数语法的信息
- Javascript函数来检索所有用户的信息
- 图像 onclick() 函数显示带有表单详细信息的 dailog 窗口
- PHP if 基于输入信息的函数不起作用
- get 函数数据报告空信息
- jquery:如何将表单元素信息传递给另一个函数
- 如何将信息返回到Objective-C中的javascript函数
- Javascript函数并提交信息