在php中获取表单字段值,然后禁用它

时间:2015-12-17 06:37:18

标签: javascript php jquery html forms

我正在使用我的页面中的表单

<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"];
}

但问题是,当我按下提交按钮字段被禁用并且我没有得到任何发布值时,我如何首先获取值然后禁用字段?

4 个答案:

答案 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'] }?>