这个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 Ñ
答案 0 :(得分:1)
这不提交表单,只是告诉浏览器转到该页面。因此,你的价值总是空的。
window.location = '<?=$MyPage;?>' ;
用此替换该行。
document.forms["frmSB_stores"].submit();