isset($ _ POST ['submit'])问题

时间:2011-10-28 15:36:23

标签: php javascript

我很难找到代码无效的原因...... 因此,在发送请求后,应该禁用一个带有提交按钮的表单。

PHP:

<form action="buy.php" method="post" onsubmit="zapret()">
....
<input id="submitOtbor" type="submit" name="submit" value="Отправить" />
</form>

的javascript:

function zapret()
{
   var btn = document.getElementById(\'submitOtbor\').disabled = true;
   $(\'#result_5\').show();
   return false;

}

好吧,在按下提交按钮后,在buy.php中的isset($ _ POST ['submit'])无法从表单中捕获变量...

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

您已停用提交按钮。根据定义,禁用控件不会“成功”,也不会在数据中发送到服务器。

如果要显示数据,请不要禁用该按钮。

(您也可以使用相同的名称生成隐藏的输入,但实际上,不要禁用提交按钮。当请求失败时,很难重新提交表单。)

答案 1 :(得分:1)

那么为什么要依赖一个被禁用的控件(反过来也不会被转移 - 所有浏览器都会忽略禁用控件的默认行为)?

您随时可以查看!empty($_POST)。或者,您可以添加一个表示表单意图的隐藏字段。 e.g。

<input type="hidden" name="action" value="create|read|delete" />

在提交中传递。