0

次のような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;
?>

エコー呼び出しは何も返しません、そして私が得るのは空白のページだけです。非表示の入力フィールドの値が変更されないのはなぜか、POST呼び出し中に値が渡されないのはなぜか疑問に思います。

いくつかのさらなる実験により、隠しフィールドの値をランダムな値で設定した場合でも、次のことが明らかになりました。

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

PHPファイルの実行中にはまだ取得されていません。エコー呼び出しは何も返しません。この非表示の入力フィールドの値を取得する際の問題は何ですか?私はPHPを非常に控えめに扱ってきましたが、過去にはPOST送信時にフォームから値を取得することに問題はありませんでした。

4

2 に答える 2

5

$ _POSTを使用してPHPで入力フィールドにアクセスするには、入力フィールドに名前を付ける必要があります

<input id="hidden" name="hidden" type="hidden" value=""/>
于 2013-01-06T23:21:44.817 に答える
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>
于 2013-01-06T23:21:39.957 に答える