2013-01-06 125 views
0

我有一个隐藏的输入字段,我使用jQuery这样的一些任意值填写:PHP POST调用没有返回变量

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变量从获得的HTML在所需的div内,而不是该变量是否传递给隐藏的输入域值。

我有一个表格:

<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; 
?> 

回声调用返回什么,我得到的是一个空白页。我想知道为什么隐藏的输入字段的值没有被更改,或者为什么在POST调用期间没有被传递。

一些进一步的实验表明,即使我设置隐藏字段的值与一些随机值:

<input id="hidden" type="hidden" value="Some Value"/> 

现在还没有PHP文件的执行过程中获得的。回声调用不返回任何内容。我获得这个隐藏的输入字段的值有什么问题?我一直非常谨慎地使用PHP,但过去在POST提交时没有从表单获取值的问题。

回答

6

你需要为了与$ _ POST

<input id="hidden" name="hidden" type="hidden" value=""/> 
+0

哇访问它在PHP中有一个名称为您的输入字段,那么容易,感谢 –

+0

没问题。你做得正确,你只是忘记了name属性。 – Boundless

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>