Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在首次提交后禁用表单?_Php_Javascript_Html - Fatal编程技术网

Php 如何在首次提交后禁用表单?

Php 如何在首次提交后禁用表单?,php,javascript,html,Php,Javascript,Html,我猜现在发生的是您的代码正在启动,但表单提交后页面将刷新,按钮将不再被禁用 如果是这种情况,那么当您知道页面是作为表单提交的结果呈现时,您可以从服务器端将disabled属性插入到按钮的HTML中。它以什么方式“不起作用” 如果您的意思是它不提交表单,那么按钮只是保持禁用状态,请尝试使用setTimeout稍微延迟禁用 如果您的意思是按钮未禁用,是否确定提交的表单未重新加载页面?如果出现这种情况,您可能希望在提交按钮中添加。您可能希望在数据库中保存一个布尔标志,例如已注册,因此如果用户已注册,表

我猜现在发生的是您的代码正在启动,但表单提交后页面将刷新,按钮将不再被禁用

如果是这种情况,那么当您知道页面是作为表单提交的结果呈现时,您可以从服务器端将disabled属性插入到按钮的HTML中。

它以什么方式“不起作用”

如果您的意思是它不提交表单,那么按钮只是保持禁用状态,请尝试使用setTimeout稍微延迟禁用


如果您的意思是按钮未禁用,是否确定提交的表单未重新加载页面?如果出现这种情况,您可能希望在提交按钮中添加

您可能希望在数据库中保存一个布尔标志,例如
已注册
,因此如果用户已注册,表单将不会显示。

如果您正在发布到同一页面,并且希望在表单提交一次后禁用该按钮,则可以使用PHP检查表单提交的数据是否已发布到该页面。如果有,请禁用该按钮。可能是这样的:

不使用jquery(只是一个示例,最好使用jquery):

功能禁用BTN(idbtn){
document.getElementById(idbtn).innerHTML='Loading…';
document.getElementById(idbtn).disabled=true;
}
发送

使用此功能,当您按下按钮时,它也会将标签更改为“加载…”

发送表单后,将操作更改为
javascript:void%200

嗯。。我明白了,所以我需要混合使用php和javascript代码。。如果($_Post['registrationSuccess']){document.getelementbyID(“button”)=disable}做一些链接……这样做行吗……但我想它不会在页面上刷新是的——类似的方式应该行得通。或者,我认为您可以在按钮HTML标记中插入一些内嵌php,以注入“disabled”属性。这已经起作用了。一旦注册完成:echo'document.getElementById(“submit button”).disabled=true@使用flyingcolors,这是错误假设的错误解决方案。提交后应该有HTTP重定向,而不是相同的表单输出。这个问题与您的答案无关is@david当前位置你看问题的课文了吗?在第一次点击后禁用按钮是的,我不是故意粗鲁,几分钟后有人发布了一个类似于你的jquery版本的答案,有人投票否决了他,看起来他删除了他的答案
  <form method="POST" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" onsubmit="document.getElementById('submit-button').disabled=true;">
<input type="submit" value="Register" id="submit-button"/>
function disablebtn( idbtn ) {
    document.getElementById(idbtn).innerHTML = 'Loading...';
    document.getElementById(idbtn).disabled=true;
}

<form onsubmit="disablebtn('formPageBtn')">

    <button type="submit" id="formPageBtn">Send</button>
</form>