我正在研究一个PHP程序,该程序需要在每个表单控件上进行JavaScript。一旦发生Onblur事件,该值将自动发送到服务器以更新数据库。

我可能有50个表单控件分布在5个选项卡上,因此我不想在PHP文件上进行编码。

我可以从中选择一个想法 HTML5 并为此创建新属性

data-table='user' data-column='firstname'

对于每个项目,然后JavaScript可以将这些值拉出并将其发送到PHP文件。

我不知道是否有更好的方法来管理这些表单控件和几个表/列之间的映射?

有帮助吗?

解决方案

html

<input id='data-base*data-colum' onblur='preupdate(this);' value='' />

JavaScript

function preupdate(el){
   var idData = el.getAttribute('id').split('*');
   var dataBase = idData[0];
   var dataColum = idData[1];

   update(el.value, dataBase, dataColum);
}

其他提示

实际上,我认为这是您最好的选择。如果您使用jQuery,则可以做这样的事情:

$("input").blur(function () {
    var data-table = $(this).attr('data-table');
    var data-column = $(this).attr('data-column');

    $.ajax({
    type: 'post',
    url: your_url,
    data: your_get_data
    });
});

我将使用PHP生成数据结构,将控件(希望它们具有唯一名称/ID)映射到DB信息。然后,我将其吐出在JSON中,作为Inline JavaScript。

然后你 on_blur 所有字段上的属性都可以相同(或每个字段传递了该字段的唯一ID),并调用JavaScript函数,该功能从数据结构中查找DB信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top