我正在使用我的页面中的表单
<form method='post' action='' class='myform'>
<input type='text' name='name'>
<input type='text' name='email'>
<input class='btn' type='submit' name='submit' >
</form>
我想要的是我将获取表单的值然后禁用其所有字段,现在这是我提交表单时禁用所有字段的代码
$(document).on('click', '.btn', function(event) {
var currentForm = $(this).closest('form');
currentForm.find('input').prop('disabled', true);
});
在此之前我试图从$_POST
这样获取价值
if(isset($_POST["submit"])){
$name= $_POST["name"];
$email= $_POST["email"];
}
但问题是,当我按下提交按钮字段被禁用并且我没有得到任何发布值时,我如何首先获取值然后禁用字段?
答案 0 :(得分:2)
您的错误 - 您正在通过
禁用输入字段currentForm.find('input').prop('disabled', true);
因此,当您提交表单时,该字段将处于禁用状态,并且不会发布。
解决方案 - 请将行更改为
currentForm.find('input').prop('readonly', true);
答案 1 :(得分:0)
查看此示例或尝试使用它....
if(isset($_POST["submit"]))
{
$name= $_POST["name"];
$email= $_POST["email"];
}
?>
<form method='post' action='' class='myform'>
<?php
if($name != '' && $email != '')
{
?>
<input type='hidden' name='name' value="<?php echo $name?>">
<input type='hidden' name='email' value="<?php echo $email?>">
<?php
}
?>
<input type='text' name="<?php echo ($name != ''?'hidden_name':'name')?>" <?php echo ($name != ''?'disabled':'')?> value="<?php echo $name?>">
<input type='text' name='<?php echo ($email != ''?'hidden_email':'email')?>' <?php echo ($email != ''?'disabled':'')?> value="<?php echo $email?>">
<input class='btn' type='submit' name='submit' >
</form>
答案 2 :(得分:0)
您可以像这样使用ajax:
$('.btn').bind('click', function() {
$.ajax({
url: "your page url here",
type: 'POST',
async:false,
success: function(response) {
$('input').prop('disabled', true);
}
});
});
答案 3 :(得分:-1)
你没有将提交参数传递给formdata,这就是你无法得到它的原因。 试试这个
<?php if(isset($_POST['name'])){ echo $_POST['name'] }?>