表单提交到PHP

时间:2017-11-21 15:53:46

标签: php forms button

我想要一个PHP文件

A)禁用提交按钮,直到页面完全加载,同时PHP脚本正在运行。

B)允许一个PHP脚本区分提交给它的表单,因此它可以为不同的表单提交运行不同的代码。

C)允许将表单提交给任何指定的PHP脚本,无论是外部文件还是自己文件中的脚本。

<!DOCTYPE html>
<html lang = "en-US">
<head>
<title>Super Awesome Title!</title>
<meta charset = "UTF-8"/>

<?php
if(isset($_POST['SubmitButton']))
{
echo "Hello from PHP!";
}
?>

<script type = "text/javascript">
function disableSubmit1()
{
 document.getElementById("submitbutton_1").disabled = true;
}
</script> 

</head>
<body>

<form id="zipform" onsubmit="disableSubmit1()" method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
<input type="submit" id="submitbutton_1" name="SubmitButton" value="Test"/>
</form> 

</body>
</html>

解决

我找到了解决问题的方法。 - &GT; https://github.com/dougpurinton/disable_button_javascript/blob/master/disable_button_correct.php

2 个答案:

答案 0 :(得分:0)

您必须在用户按下按钮后使用Javascript / jQuery执行此操作。

使用jQuery:

$('#zipform').on('submit', function(e) {
    $('#submitbutton_1').attr('disabled', 'disabled');
});

这会在页面重新加载之前禁用按钮,然后在页面重新加载后使用PHP:

<input type="submit" id="submitbutton_1" name="SubmitButton" value="Test"<?php echo (isset($_POST['SubmitButton']) ? ' disabled="disabled"': '') ?> />

答案 1 :(得分:-1)

您的JS代码取消激活按钮,因此不会发送到服务器。 而是使用document.getElementById("submitbutton_1").setAttribute('disabled','disabled');

您的PHP回显位于HTML的head-Tag中,因此您可能无法在页面上看到它。

正如Vincent所说,当页面重新加载时,您的禁用按钮会再次启用,因此如果您希望在页面重新加载后仍然禁用该按钮,则必须设置该属性。