我得到了以下表格,但它不起作用。我阅读了大量的例子,但无法理解我做错了什么.. 有人可以解释一下,为什么$ _POST ["选择"]不能工作? 我可以发布完整的代码,如果有必要,但我虽然它不需要..
<form action="2.php" method="POST">
<div class="question">
<?=$question?>
<div class="inline">
<div class="choice1">
<button type="submit" name="choice" class="choice" id="1" value="<?=$ans_array[0]?>" onclick="myFunction()" ><?=$ans_array[0]?></button>
</div>
<div class="choice2">
<button type="submit" class="choice" id="2" name="choice" onclick="myFunction()" value="<?=$ans_array[1]?>"><?=$ans_array[1]?></button>
</div>
</div>
<div class="inline">
<div class="choice1">
<button type="submit" class="choice" id="3" name="choice" onclick="myFunction()" value="<?=$ans_array[2]?>"><?=$ans_array[2]?></button>
</div>
<div class="choice2">
<button type="submit" class="choice" id="4" name="choice" onclick="myFunction()" value="<?=$ans_array[3]?>"><?=$ans_array[3]?></button>
</div>
</div>
</div>
</form>
然后我得到了下一个文件2.php
<?php
echo $_POST["choice"];
$a = $_POST["choice"];
?>
但我得到以下内容 注意:未定义的索引:在第2行选择 注意:未定义的索引:第3行的选择
答案 0 :(得分:0)
您将帖子显示为button
类型。除非有人按下按钮,否则按钮类型不存在。如果您之前正在提交或允许ENTER
导致提交,那么这是未定义的。
你可以把它放在choice1
的前面来测试 <input type=hidden name=choice value='no button pushed'>
如果你看到了,那就发生了什么
答案 1 :(得分:0)
感谢大家的回答,似乎问题出现在以下javascript上,因为它阻止了其他按钮的提交。问题现在解决了
<script>
$('form').submit(function (e) {
var form = this;
e.preventDefault();
setTimeout(function () {
form.submit();
}, 1000); // in milliseconds
$("<p>Delay...</p>").appendTo("body");
});
</script>