获取由javascript设置的服务器端Php中的隐藏输入的值

时间:2012-04-02 14:25:39

标签: javascript field hidden

这个wordpress的东西让我再次发疯。

我有一个输出页面,它使用一个短代码来调用一个函数(Stores)......其代码部分位于下面。 它有一个下拉列表和一个数据表,...数据取决于下拉列表的选定选项。

我使用javascript设置隐藏的输入...成功。 事实上我尝试了一个普通的,非隐藏的输入......同样的结果,..在服务器端,使用$ _POST [“txtSelection”]或者 $ _POST [ “hdnSelect”]

但是当我尝试在php服务器端代码上获取它的值时,它是空的,... 我怎么回收它呢?

隐藏的输入位于表单标记内。

<?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']

其中有zilch,即使它是由jvascript

成功设置的

为什么在WordPress中出现这样的问题, 我该如何克服它。 在一些应该是如此微不足道的事情上花费一整天的时间是疯了(在正常的php情况下工作正常,os asp或asp.net,但在WP中没有。)! TIA Ñ

1 个答案:

答案 0 :(得分:1)

这不提交表单,只是告诉浏览器转到该页面。因此,你的价值总是空的。 window.location = '<?=$MyPage;?>' ;

用此替换该行。 document.forms["frmSB_stores"].submit();