Получить значение скрытого ввода на стороне сервера Php, который был установлен javascript - PullRequest
0 голосов
/ 02 апреля 2012

Этот WordPress материал снова сводит меня с ума.

У меня есть выходная страница, которая использует короткий код для вызова функции (магазины) ... код которого частично ниже.У него есть выпадающий список и таблица данных, данные зависят от выбранной опции раскрывающегося списка.

Я использую 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 N

1 Ответ

1 голос
/ 02 апреля 2012

Это не отправка формы, это просто говорит браузеру перейти на эту страницу.Следовательно ваша ценность всегда пуста.window.location = '<?=$MyPage;?>' ;

Вместо этого замените эту строку.document.forms["frmSB_stores"].submit();

...