【发布时间】:2013-04-07 21:22:20
【问题描述】:
我有一个表单,在页面加载时隐藏了一半,当用户单击第一个输入框时,表单的其余部分显示在它下面...我现在尝试将文件提交到 php 页面,然后回显输入元素包含的内容...但是,这不起作用...我感觉这是因为页面加载时隐藏了一半的表单...
这是表单的代码
<form action='new-question.php' method='post' id='new-question-form'>
<input type='text' name='title' class='shown-input' placeholder='Ask a new question'>
<!-- HIDDEN UNLESS CLICKED -->
<div class='hidden-until-click'>
<textarea name='details' placeholder="Enter your question details..."></textarea>
<button type='button' id='upload-question' class='btn'>
<img src='assets/images/css_images/upload.png'>
upload
</button>
<input type='submit' name='submit-question' id='submit-question' value='Go!' class='bttn bttn-blue tiny'>
</div>
<!-- END HIDDEN UNTIL CLICKED-->
</form>
还有我的php文件
<?php
if (isset($_POST['submit-question'])){
echo $_POST['title'];
} else {
echo "Nothing submitted;
}
?>
它只是一直说什么都没有提交......
这里是我隐藏 div 的方法:
$(".hidden-until-click").hide();
然后这样显示
$(".widget.small form#new-question-form .hidden-until-click").show();
这里是 var_dump($_POST):
array(2) {
["title"]=>
string(0) ""
["details"]=>
string(0) ""
}
【问题讨论】:
-
当你 var_dump($_POST); 打印什么?
-
我已经尝试过您的代码,除了“未提交任何内容”末尾缺少双引号外,它似乎工作正常。然而,此刻什么都没有隐藏。你如何隐藏/显示元素?是通过 CSS 还是 JS?如果是通过JS,可以发一下代码吗?
-
我只是把它放了..我在文档准备好时隐藏,然后在显示第一个输入元素时显示...我最初是通过可见性来做的,但这也不起作用
-
另外需要注意的是我使用 jquery-forms.js $("#myform").ajaxForm(function(data){});
-
谢谢。 var_dump 看起来不错,您填写了任何字段吗?