Переменная PHP $ _POST не обрабатывает поля ввода, сгенерированные Javascript - PullRequest
3 голосов
/ 20 мая 2011

У меня есть два файла (file1 и file2). file1 включает file2 в оператор включения PHP. File1 также содержит форму и печатает все переменные $ _POST. File2 использует кнопку Javascript для динамического изменения значения в поле ввода. Проблема в том, что $ _POST пусто после нажатия кнопки submit. Почему это так и как мне это исправить?

File1:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<?php include 'file2.php'; ?> 
<input type="submit" /></form>

<?php foreach ($_POST as $key => $val) { echo $key . " belongs to " . $val; } ?>

File2

<script type="text/javascript">
        var button = {
        counter : 0,

            count : function() {
            text = document.getElementById("text");
            this.counter++;
            text.setAttribute("value", this.counter);
        }
    };
    </script>

<button type="button" onclick="button.count()">CLICK ME!</button>
<input id="text" type="text" value="0" />

Ответы [ 3 ]

5 голосов
/ 20 мая 2011

Вы забыли установить атрибут name:

<input id="text" name="text" type="text" value="0" />
2 голосов
/ 20 мая 2011
text.setAttribute("value", this.counter);

Это лучше как:

text.value = this.counter;

Также вам необходим атрибут name для вашего элемента:

<input id="text" name="text" type="text" value="0" />
0 голосов
/ 19 июня 2013

вы не задали атрибут имени для поля «текст».

Исправленный код:

<input id="text" name="text" type="text" value="0" >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...