隐藏提交按钮,除非表单/输入数据已更改

时间:2015-10-02 16:30:03

标签: javascript php jquery html forms

我一直在尝试根据当前输入字段中的数据显示/隐藏按钮。这是一个帐户更新页面,数据从数据库中提取并插入到输入字段中。

我找到了这个话题,它主要是有用的:JQuery - Disable submit button unless original form data has changed

我还提取并调整了一段代码,并且能够按照我想要的方式运行:http://jsfiddle.net/Pug3H/97/

然而,当我尝试在我的页面上实现此代码时,它似乎不起作用。从数据库中填充输入字段的示例:

    <input type="text" name="Name" value="<?= $row['Name'] ?>" required />

我不确定这是否与序列化方法冲突,是否应该以不同的方式做某事?任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

您的演示未完成,因此存在一些语法错误。您希望使用css()方法设置提交按钮的可见性,如下所示:

$('form')
    .each(function(){
        $(this).data('serialized', $(this).serialize())
    })
    .on('change input', function(){
        //hide submit button
        $(this).find('input:submit, button:submit').css('visibility','hidden');
        //check if submit button should be made visible
        $(this).serialize() == $(this).data('serialized') || 
        $(this).find('input:submit, button:submit').css('visibility','visible'); 
     });

DEMO