我在php中编写了一个应用程序 - CodeIgniter框架和JavaScript - jQuery和Bootstarp框架。 我喜欢实现一般的'在字段中编辑'方法,我不喜欢使用任何插件,所以我使用:
<div class='editField">
<input name="<?=$value->id?>" data-t="table_name" data-n="field_name" data_func="update" value="$value->value"/>
</div>
<script>
$(function () {
$('.editField').on('focusout', 'input, select', function () {
var dta = {
't' : $(this).attr('data-t'),
'n' : $(this).attr('data-n'),
'i' : $(this).attr('name'),
'val' : $(this).val()
};
var le = 'index.php/linkToUpdateController/'+$(this).attr('data-func');
$.ajax({
type: 'POST',
url: le,
data: dta
});
});
});
</script>
和linkToUpdateController.php:
public function update() {
$arr = array(
$this->input('n') => $this->input('val')
);
$this->db->where('id', $this->i);
$this->db->update($this->t, $arr);
}
我知道CodeIgniter activeRecords - &gt; where()方法会自动转义并产生更安全的查询但我对html5'data-'声明方法感到奇怪,因为我需要使用真实的表名和字段名称我的方法变得如此透明。
所以任何欣赏,评论或线索都会对此方法的安全性问题表示赞赏,但我的意图是使用“在字段中编辑”方法不要退出。 谢谢! 利奥。