我有一个 HTML 表单,当用户单击提交时,所有信息都使用 POST 方法通过 php 脚本发送到电子邮件。我想要做的是在单击提交按钮后禁用所有用户输入或将所有文本框输入字段变灰。我该怎么做呢?
目前提交按钮的代码如下所示:
<input type="submit" value=" Continue " style="width:200px;height:40px">
我有一个 HTML 表单,当用户单击提交时,所有信息都使用 POST 方法通过 php 脚本发送到电子邮件。我想要做的是在单击提交按钮后禁用所有用户输入或将所有文本框输入字段变灰。我该怎么做呢?
目前提交按钮的代码如下所示:
<input type="submit" value=" Continue " style="width:200px;height:40px">
Onclick 提交按钮使所有输入禁用
$("input").attr('disabled', true);
由于是否已发送邮件是服务器端处理,因此如果您从服务器端处理它比从客户端(如 jQuery 和 javascript)处理更好:
$form_state = ($is_mail_sent)?"":"disabled='disabled'";
<input type="submit" <?php echo $form_state ?> value=" Continue " style="width:200px;height:40px">
如果没有 db 交互,您将无法做到这一点,在 db 表中有一个标志。如果用户提交表单,则设置标志 1,默认为 0。根据标志值,您可以禁用表单。
if(mailsent_status_of_the_user == 1){
$status = "disabled='disabled'";
}else{
$status = "";
}
<input type="submit" value=" Continue " <?php echo $status; ?> >
通过使用 jQuery:$("input").prop('disabled', true);
但是在纯 Html 中是不可能不刷新页面的!
编辑: Javascript:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(e) {
$("#yourFormID").submit(function() {
$("#theInputToDisable").prop('disabled', true);
//Or to disable all inputs
//$(this).children("input").prop('disabled', true);
//$(this).children("input").attr('disabled', 'disabled');
return false;
})
});
</script>
HTML
<form id="yourFormID">
<input type="text" />
<input type="submit" value="Send"/>
</form>
在您要禁用的每个 HTML 输入元素中添加以下内容。由于您没有提到我假设您可以为此使用 PHP。
<?php if(isset($_POST['submit'])) echo 'disabled="disabled"'; ?>
如果您使用 AJAX,则在触发事件时,在特定事件中
$("input").prop('disabled', true);