由于某些jquery验证脚本而未获取表单值

时间:2013-02-15 09:47:24

标签: jquery jquery-validate

我在表单验证文件中编写了一些jQuery脚本,以便在数据有效时禁用“提交”按钮。

$(document).ready(function()
{   
    jQuery("#frmAddEditForm").validate({
        errorElement:'div',
        rules: {
            fname: {
                required: true
            }
        },

        messages: {
            fname: {
                required: "Please enter name"
            }
        }
    });

    $('#frmAddEditForm').submit(function(){
        if ($(this).valid()) {
          $('#submit').attr('disabled', 'disabled');
        }
    });

});

并检查提交

if(strlen($this->input->post('submit'))>0)
{ 
  // Insert form data
}

我也试过

if($this->input->post('submit'))
{ 
      // Insert form data
}

但没有任何作用。

如果我改变

$('#submit').attr('disabled', 'disabled');

$('#submit').css('display', 'none');

然后它可以工作,但我希望提交被禁用。

3 个答案:

答案 0 :(得分:1)

你正在访问错误的参数if ie

 if($this->input->post('submit'))

提交是一个右键,如果

,请使用 fname
 if($this->input->post('fname'))

答案 1 :(得分:1)

禁用的输入将不会发布。解决方法:

创建一个隐藏字段并检查是否要发布:

<input type="hidden" name="posted" />

然后在PHP中

if($this->input->post('posted'))

或者使用您已经拥有的任何其他非禁用输入,例如fname。应该工作。

答案 2 :(得分:0)

请按如下方式编辑

//设置按钮禁用

   $("input[type=submit]").attr("disabled", "disabled");