我有一个 html 表单来收集姓名和地点,在用户提交表单后,输出将使用 PHP echo 显示在页面底部
我的要求是,
在表单提交之前和用户输入数据并提交之后隐藏
output div
,我必须使output div
可见以使用PHP echo显示表单输出。
这是我的 HTML 代码:
<div class="main">
<form id="main" name="main" action="#text" method="post">
<div class="input">
<div id="name">
<div class="block">
<div class="input-quest">Your Name</div>
<div class="input-resp"><span><input class="textbox" id="nm" name="nm" type="text" value="" /></span>
</div>
</div>
</div>
<div id="place">
<div class="block">
<div class="input-quest">Your Place</div>
<div class="input-resp"><span><input class="textbox" id="pl" name="pl" type="text" value="" /></span>
</div>
</div>
</div>
</div>
<div class="submit">
<input id="generate" type="submit" name="script" value="generate" />
<input type="submit" id="clear" name="clear" value="clear" />
</div>
</form>
<div class="output">
<?php $name = $_POST['nm']; $place = $_POST['pl']; echo "Hello, I am $name and I am from $place"; ?>
</div>
</div>
它在 output div
部分包含 PHP 回显代码。
我在以前的问题中搜索了解决方案,并尝试了下面提到的方法:
1.为 output div
来隐藏它
<div id="output" style="display: none;">
<!-- echo php here -->
</div>
并在提交期间添加 JavaScript 以调用函数
$('main').submit(function(){
$('#output').show();
});
它没有用。
2.尝试使用以下 JavaScript 代码
$('main').submit(function(e){
$('#output').show();
e.preventDefault();
});
它没有用。
3.删除了输出 div 的内联 CSS 以隐藏并将其添加到我的 CSS 样式表中
<div id="output">
在样式表中
#output{
display:none;
}
并在提交时使用下面的 JavaScript 代码
$('main').submit(function(){
$('#output').css({
'display' : 'block'
});
});
它没有用。
- 添加了
onclick
函数以及表单提交
并提交按钮代码:
<input id="generate" type="submit" name="script" value="generate" onclick="showoutput()"/>
和JavaScript:
showoutput(){
$('#output').slideDown("fast");
}
与
showoutput(){
$('#output').show();
}
它没有用。
请提出一个解决方案来做到这一点。
原文由 acr 发布,翻译遵循 CC BY-SA 4.0 许可协议
我不确定为什么你需要为此使用 js/css。只需检查变量是否已发布,如果已发布,则回显它们(您必须将表单操作设置为指向同一页面):
如果您只是想在
div.output
中显示名称和地点,而不实际提交表单,您可以这样做:这是一个小提琴