0

我有以下代码:

  <form action="" method="post">
    <input type="submit" name="ok" value="ÓK">
  </form>
  <?php
    if (isset($_POST['ok'])) 
    { 
      printf "OK";
    }  
  ?>

我希望在按下按钮后会出现另一个 html 代码

我不知道该怎么做

4

6 回答 6

1

像这样做:

<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
    }  
?>
于 2013-08-28T14:08:41.357 回答
0

尝试使用 header() 方法进行重定向。如果您想回显简单的 html,请执行以下操作:

echo("<div></div>");
于 2013-08-28T13:59:28.983 回答
0

你现在有 printf "ok"; 放

?> <?php

在它之间,您可以放置​​新的 HTML

于 2013-08-28T14:01:14.043 回答
0

使用printecho,而不是printf

于 2013-08-28T14:05:00.057 回答
0

如果您正在寻找在单击按钮时出现的另一段 HTML 代码,那么您将需要一个 JavaScript 函数,当onclick按钮上发生事件时调用该函数。

我对 JS 不是很好,所以我把它作为 OP 的练习

于 2013-08-28T14:08:31.477 回答
0

您可以使用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>
于 2013-08-28T15:40:50.210 回答