PHPMyAdmin行编辑

时间:2013-01-07 13:45:42

标签: phpmyadmin

感谢此处指出的任何帮助:)

我遇到了新版PHPMyAdmin的问题。

首先让我画一幅画,

我离开了Xmas hols的工作,回来后发现所有版本的PHPMyAdmin都有更新。这个新版本看起来不错,但这是我的主要问题。自从我使用PHPMyAdmin以来,我已经能够点击表格行的任何地方来选择它,现在它已经被更改,所以如果我点击一行它会自动打开内联编辑器! WTF!我不想编辑它,我想选择它!怎么能关闭它,因为这可能已经完成,我从来没用过它。我无法控制所使用的PHPMyAdmin版本,它们都是由Fasthosts安装的。

我相信我不是唯一一个遇到这个问题的开发者,任何人都可以帮助我吗?

我想如果不是我可以运行旧版本的PHPMyAdmin,但这不是主意,因为旧版本中可能存在其他安全问题已在较新版本中修复。

2 个答案:

答案 0 :(得分:2)

查找/js/makegrid.js。

相关部分是find(“td.data”)。点击(功能(c),在这里返回false以防止编辑。

如果您还想在双击时启用此功能,只需替换:find(“td.data”)。单击(使用find(“td.data”)函数(c).dblclick(函数(c)

答案 1 :(得分:2)

对于phpMyAdmin版本4.0.5,您可以将网格编辑选项设置为禁用或双击(双击实际上是默认设置)。

$cfg['GridEditing'] = 'double-click';
or
$cfg['GridEditing'] = 'disabled';

但是,只需单击一下即可选择行,需要编辑makegrid.js文件。在initGridEdit函数中,在第1659行之后添加以下代码

else {
// Custom code added to select row on single click
var $row = $cell.parent();
var $checkbox = $row.find('td input[type=checkbox]').first();
$checkbox.prop('checked',!$checkbox.prop('checked'));
$row.toggleClass('marked');
}

添加代码后,它看起来像这样。请注意,我遗漏了一些代码来缩短这个答案。

$(t).find('td.data.click2')
.click(function(e) {
    $cell = $(this);
    // In the case of relational link, We want single click on the link 
    // to goto the link and double click to start grid-editing.
    var $link = $(e.target);
    if ($link.is('.grid_edit.relation a')) {
        // OMITTED CODE...
    } else {
        // Custom code added to select row on single click
        var $row = $cell.parent();
        var $checkbox = $row.find('td input[type=checkbox]').first();
        $checkbox.prop('checked',!$checkbox.prop('checked'));
        $row.toggleClass('marked');
    }
})

在将网格编辑设置为双击时,我只测试了此解决方案。如果禁用网格编辑,它很可能不起作用。