【问题标题】:PHP Post call not returning variablePHP Post调用不返回变量
【发布时间】:2012-12-20 16:55:50
【问题描述】:

我有一个隐藏的输入字段,我使用 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 提交时从表单获取值没有问题。

【问题讨论】:

    标签: php javascript html forms post


    【解决方案1】:

    您需要为输入字段命名,以便在 php 中使用 $_POST 访问它

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

    【讨论】:

    • 没问题。你做对了,你只是忘记了 name 属性。
    【解决方案2】:

    你应该只指出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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      相关资源
      最近更新 更多