我有以下代码:
<form action="" method="post">
<input type="submit" name="ok" value="ÓK">
</form>
<?php
if (isset($_POST['ok']))
{
printf "OK";
}
?>
我希望在按下按钮后会出现另一个 html 代码
我不知道该怎么做
像这样做:
<form action="" method="post">
<input type="submit" name="ok" value="ÓK">
</form>
<?php
if (isset($_POST['ok']))
{
?>
<div>
<p>Your HTML-code here</p>
</div>
<?php
}
?>
尝试使用 header() 方法进行重定向。如果您想回显简单的 html,请执行以下操作:
echo("<div></div>");
你现在有 printf "ok"; 放
?> <?php
在它之间,您可以放置新的 HTML
使用print或echo,而不是printf
如果您正在寻找在单击按钮时出现的另一段 HTML 代码,那么您将需要一个 JavaScript 函数,当onclick
按钮上发生事件时调用该函数。
我对 JS 不是很好,所以我把它作为 OP 的练习
您可以使用Ajax提交表单。在纯 javascript 中,您可以使用XMLHttpRequest对象。
这是简单ajax.php
文件的示例:
<?php
if (isset($_POST['ok'])) {
// send some response here
var_export($_POST);
exit;
}
?>
<!DOCTYPE html>
<html><head>
<script type="text/javascript">
function ajax() {
var form = document.forms['form1'];
var queryString = 'test=' + form['test'].value + '&ok=' + form['ok'].value;
var xmlHttpReq = false;
var self = this;
if (window.XMLHttpRequest) { // Mozilla/Chrome/Opera/Safari/IE9+
self.xmlHttpReq = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE6-8
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('POST', 'ajax.php', true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function () {
if (self.xmlHttpReq.readyState == 4) {
document.getElementById("result").innerHTML = self.xmlHttpReq.responseText;
}
}
self.xmlHttpReq.send(queryString); // send http request
return false; // disable submitting the form below and thus reloading the page
}
</script>
</head>
<body>
<form id="form1" action="" method="post" onsubmit="return ajax();">
<input type="text" name="test" value="test data" />
<input type="submit" name="ok" value="OK" />
</form>
<div id="result" style="background:#faa;"></div>
</body>
</html>