0

如果数据有效,我在表单验证文件中编写了一些 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');

然后它工作,但我想提交被禁用。

4

3 回答 3

1

如果您访问错误的参数,即

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

submit 是一个按钮,在 if中使用fname

 if($this->input->post('fname'))
于 2013-02-15T09:55:44.177 回答
1

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

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

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

然后在 PHP

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

或者使用您已经拥有的任何其他非禁用输入fname。应该管用。

于 2013-02-15T10:07:23.487 回答
0

请编辑如下

//设置按钮禁用

   $("input[type=submit]").attr("disabled", "disabled");
于 2013-02-15T09:49:19.353 回答