我刚刚发现了一些我以前从未注意到的东西,同时处理(常规,无JS)表格 .
如果通过单击 Submit
按钮提交表单,它将发送 Submit
按钮数据( &submit=Submit
或其他类似数据) .
但是,使用Enter键提交时,相同的表单省略了 Submit
按钮数据 .
示例表格:
<div id="messagebox">
<?php
echo 'txt: [' . $_REQUEST['txt'] . ']<br>';
echo 'submit_btn: [' . $_REQUEST['submit_btn'] . ']<br>';
?>
</div>
<hr>
<div id="formbox">
<form method="POST" action="?">
<input type="text" name="txt" id="txt" value=""><br>
<input type="submit" name="submit_btn" id="submit_btn" value="Submit"><br>
</form>
</div>
[它应该在提交表单时显示两个变量,但是当按下Enter时它会省略Submit按钮数据 . ]
我一直在使用 submit
POST变量来进行服务器端检查 . 我想我将不得不添加隐藏的输入或其他东西 .
无论如何,这个问题: Is this normal behaviour? If so, why?
我假设Enter键只是模仿了Submit按钮 . 我现在猜测它没有 . 如果提交按钮是表单的一部分,但恰好没有被点击,为什么不与其余数据一起发送?
2 回答
使用回车键,表单提交正确 . 但是在IE7中,提交按钮值会丢失,行为奇怪 . 因此,您可以使用带有固定文本的隐藏文本字段来检查表单是否已提交 . 谢谢
You have missed underscore in the $_REQUEST,,Chck it out now