2012-04-02 4 views
0

このワードプレスのものは私を再び怒らせる。JavaScriptで設定されたサーバー側のPHPの非表示入力の値を取得

私は、短いコードを使用して関数(ストア)を呼び出す出力ページを持っています...コードの一部がその下にあります。 ドロップダウンの選択されたオプションに依存するデータとドロップダウンがあります。

javascriptを使用して隠れた入力を正常に設定しました。 は、実際に私も、通常、非隠された入力を試してみました...同じ結果を、...サーバー側で、$ _POST [「txtSelection」]または $ _POST [「hdnSelect」]

しかし、ときに私がしようとそれはPHPのサーバー側のコードの値を取得、それは空です.. どのように私はそれを取得するのですか?

隠れた入力はフォームタグ内にあります。これはWordPress、 でこのような問題であり、なぜそれがjvascript

により正常に設定されていても、それでもちろんゼロを持っている

ここ
<?php 
function Stores() 
{ 
    global $wpdb; 
    global $MyPage; 
    $MyPage = str_replace('%7E', '~', $_SERVER['REQUEST_URI']); 
?> 
<form name="frmSB_stores" method="post" action="<?php echo $MyPage ?>"> 
<input type="hidden" name="hdnSelect" id="hdnSelect" value=""> 
<input type="text" name="txtSelection" size="19" id="txtSelection" value=""> 
<script type="text/javascript"> 
    function SetDDLValueOnChange (objDropDown) { 
var objHidden = document.getElementById("hdnSelect"); 
if (objDropDown.value.length > '0') 
{ 
    objHidden.value = objDropDown.value; //.substr(0,1); 
    //alert(" hdn = " + objHidden.value); 
    window.location = '<?=$MyPage;?>' ; 
} 

} 
</script> 

ドロップダウンのマークアップ..その後、

<table width='100%' border='0' cellspacing='5' cellpadding='3'> 
<?php 
$Area = $_POST['txtSelection']; //or $_POST['hdnSelect'] 

どのように私はそれを克服するのですか? これは、普通のPHPの状況ではうまくいくはずです(os aspやasp.netではWPではなく正常です)。 TIA N

答えて

0

これは、ブラウザにそのページに移動するように指示するフォームは送信しません。したがって、あなたの価値は常に空です。

代わりにこの行を置き換えます。 document.forms["frmSB_stores"].submit();