Javascript 在php中获取表单字段值,然后将其禁用

Javascript 在php中获取表单字段值,然后将其禁用,javascript,php,jquery,html,forms,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> if(isset($_POST["submi

我在我的页面中使用的表单如下

<form method='post' action='' class='myform'>    
   <input type='text' name='name'>
   <input type='text' name='email'>
   <input  class='btn' type='submit' name='submit' >
</form>
if(isset($_POST["submit"])){                
       $name= $_POST["name"]; 
       $email= $_POST["email"];
}
在此之前,我试图从
$\u POST
中获取如下值

<form method='post' action='' class='myform'>    
   <input type='text' name='name'>
   <input type='text' name='email'>
   <input  class='btn' type='submit' name='submit' >
</form>
if(isset($_POST["submit"])){                
       $name= $_POST["name"]; 
       $email= $_POST["email"];
}

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

查看此示例或尝试使用它

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>
if(设置($\u POST[“提交”]))
{                
$name=$_POST[“name”];
$email=$_POST[“email”];
}
?>

您没有将submit参数传递给formdata,这就是您无法获取它的原因。 试试这个


您的错误-您正在通过以下方式禁用输入字段:

currentForm.find('input').prop('disabled', true);
因此,当您提交表单时,该字段将处于禁用状态,并且不会发布

解决方案-请将行更改为


currentForm.find('input').prop('readonly',true)

您可以使用ajax实现以下功能:

$('.btn').bind('click', function() {
    $.ajax({
        url: "your page url here",
        type: 'POST',
        async:false,
        success: function(response) {           
            $('input').prop('disabled', true); 
        }
    });
});

如果您提交表单,是否将其重定向回表单?如果没有,则不使用禁用字段设置为只读而不是禁用。在输入值中设置发布的值将解决问题problem@rahul你能解释一下吗?每当你在没有ajax的情况下提交表单时,你的页面都会被重新加载。所以基本上,如果您单击submit按钮,值将发送到服务器,浏览器将重新加载页面和Jquery(客户端脚本语言将刷新,您的字段将再次启用)。您有两个选项,首先将字段更改为只读,但当表单成功提交且页面重新加载时,字段将被激活。第二,如果希望在成功提交表单后加载页面时将表单字段保持禁用状态,则必须使用php禁用表单字段。因此,使用php如何在$\u post数组中捕获这些值?禁用的输入将不会提交。这不仅不起作用,还会生成未定义的变量警告。为它们添加隐藏的输入等等,我会给你解决方案而不是我的否决票,但是如果你在action属性中不添加路径,它只会自己发送给它。这家伙得到了它!;-)问题的第一个可靠答案。但他想禁用输入:)禁用在某种意义上,用户提交后不应该能够编辑字段中的值。设置“readonly”属性可以实现这一点。