我有一个隐藏的输入字段,我使用jquery填充了一些任意值,以便:
function foo() {
// Obtains the contents of a div within the current page
var $elem = $("#something").html();
// Places the contents of the div into a hidden input field
$("#hidden").val($elem);
}
在调试东西时,我可以看到elem变量从所需的div中获取html,但不知道变量是否传递给隐藏的输入字段值。
我有一张表格:
<form method="POST" action="file.php" target="_blank">
<input id="hidden" type="hidden" value=""/>
<input type="submit" onmouseover="foo()" value="Download"/>
</form>
提交时执行file.php:
<?php
$html = $_POST["hidden"];
echo $html;
?>
echo调用什么都不返回,我得到的只是一个空白页面。我想知道为什么隐藏输入字段的值没有被更改,或者为什么在POST调用期间没有传递它。
进一步的实验表明,即使我用一些随机值设置隐藏字段的值:
<input id="hidden" type="hidden" value="Some Value"/>
在执行PHP文件期间仍未获取它。 echo调用什么都不返回。我获取此隐藏输入字段的值有什么问题?我已经非常谨慎地使用PHP,但过去在提交POST时从表单中获取值没有问题。
答案 0 :(得分:6)
您需要为输入字段命名,以便在PHP中使用$ _POST
访问它<input id="hidden" name="hidden" type="hidden" value=""/>
答案 1 :(得分:3)
您应该只指明name
属性
<form method="POST" action="file.php" target="_blank">
<input name="hidden" id="hidden" type="hidden" value=""/>
<input type="submit" onmouseover="foo()" value="Download"/>
</form>