我正在创建一个页面,该页面具有多种形式,这些形式被隐藏,然后从选择中选择该特定功能时将显示这些形式。我需要弄清楚的是,在用户提交后如何保持特定的表格显示。
if(isset($_POST['submit'])){
echo "<script>document.getElementById('funcDisp').display='block' </script>";
if($_POST['function'] == 'nameFunc') {
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$output = "Hi $fname $lname, welcome to my PHP challenge";
}
}
这是一个示例,当选择第一个功能时会发生什么,但是我无法获得带有脚本标签的回声来对我一生有效。
<!DOCTYPE html>
<?php
if(isset($_POST['submit'])){
if($_POST['function'] == 'nameFunc'){
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$output = "Hi $fname $lname, welcome to my PHP challenge";
}
}
?>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="bebk9hPHP.css">
<script src="jquery-2.1.4.min.js"></script>
</head>
<body>
<div class="contentWrapper">
<h1 id="header">PHP Sample Project</h1>
<h3 id = "sText">Form Selection</h3>
<div class="custom-select">
<select id="dropdown">
<option selected disabled hidden>Select a function</option>
<option value="1">Function 1</option>
<option value="2">Function 2</option>
<option value="3">Function 3</option>
<option value="4">Function 4</option>
</select>
</div>
<div class="funcDisplay" id="funcDisp">
<form action="bebk9hPHP.php" method="post">
<input type="text" name="fname" class="name" id="fieldOne">
<input type="text" name="lname" class="name" id="fieldTwo">
<input type="text" name="function" value="nameFunc" id="hidField">
<div class="submits">
<input type="submit" value="Submit" class="clear nsubmit" name="submit">
<input type="button" value="Clear" class="clear nclear">
</div>
</form>
<?php
echo "<script>document.getElementById('funcDisp').display='block';</script>";
echo "<h2> $output </h2>";
?>
</div>
</div>
<script>
$("#hidField").hide();
$(".funcDisplay").hide();
$("#dropdown").change(function(){
if($("#dropdown :selected").val() == 1) {
$(".funcDisplay").show();
}
})
</script>
</body>
</html>
这是我所有的代码。
答案 0 :(得分:2)
输入:
if(isset($_POST['submit'])){
echo "<script>document.getElementById('funcDisp').display='block' </script>";
}
在文档加载或就绪函数中,用PHP标签包裹。由于onload或ready函数已经设置为javascript,因此从<script></script>
中丢失了echo()
标签。
没有显示您具有onload或ready函数,因此创建一个或另一个。
尽管不是首选方法,但可能会这样写成与<body>
标记相关联的onload:
<head>
...
<script>
function onloaders() {
<?php
if(isset($_POST['submit'])) {
?>
document.getElementById('funcDisp').display='block';
<?php
}
?>
}
</script>
</head>
<body onload="onloaders()">
但是具有相同内部结构的jQuery文档就绪函数将是首选方法。无论哪种都可以。