[英]How to change the visibility of an element inside a PHP echo?
我正在創建一個頁面,其中包含多個隱藏的 forms,然后在從 select 中選擇特定 function 時顯示。 我需要弄清楚的是如何在用戶提交后保持該特定表單的顯示。
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";
}
}
這是選擇第一個 function 時會發生什么的示例,但我無法讓腳本標簽的回聲為我的一生工作。
<!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>
這是我所有的代碼。
把這個:
if(isset($_POST['submit'])){
echo "<script>document.getElementById('funcDisp').display='block' </script>";
}
在您的文檔內加載或准備好 function,用 PHP 標簽包裹。 丟失echo()
中的<script></script>
標簽,因為 onload 或准備好的 function 已經設置為 javascript。
似乎您沒有加載或准備好 function,所以創建一個或另一個。
雖然不是首選方法,但綁定到<body>
標記的 onload 可能會這樣寫:
<head>
...
<script>
function onloaders() {
<?php
if(isset($_POST['submit'])) {
?>
document.getElementById('funcDisp').display='block';
<?php
}
?>
}
</script>
</head>
<body onload="onloaders()">
但是,具有相同內部結構的 jQuery 文檔就緒 function 將是首選方法。 但是,兩者都應該起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.