Простую альтернативу этой проблеме можно решить, предоставив соответствующие разрешения в самой базе данных. Например: если вы используете базу данных mysql, введите в базу данных через терминал или предоставленный интерфейс и просто следуйте этой команде:
GRANT SELECT, INSERT, DELETE ON database TO username@'localhost' IDENTIFIED BY 'password';
Это ограничит пользователя ограничиться только указанным запросом только. Удалите разрешение удаления, и поэтому данные никогда не будут удалены из запроса, запущенного с php-страницы. Второе, что нужно сделать, это очистить привилегии, чтобы mysql обновлял разрешения и обновления.
FLUSH PRIVILEGES;
Дополнительная информация о flush .
To см. текущие привилегии для пользователя, вызывают следующий запрос.
select * from mysql.user where User='username';
Подробнее о GRANT .
Можно присоединить обработчик событий к keydown или событию нажатия клавиши для contentEditable поля и отменить событие, если код клавиши идентифицирует себя, как входят (или shift+enter).
Это отключит enter/shift+enter полностью, когда фокус будет в contentEditable поле.
При использовании jQuery, чего-то как:
$("#idContentEditable").keypress(function(e){ return e.which != 13; });
..., который возвратит false и отменит событие нажатия клавиши на, входят.
$("#idContentEditable").keypress(function(e){ return e.which != 13; });
Решение, предложенное Kamens, не работает в Opera, необходимо присоединить событие к документу вместо этого.
/**
* Pass false to enable
*/
var disableEnterKey = function(){
var disabled = false;
// Keypress event doesn't get fired when assigned to element in Opera
$(document).keypress(function(e){
if (disabled) return e.which != 13;
});
return function(flag){
disabled = (flag !== undefined) ? flag : true;
}
}();