Il modo migliore per tenere traccia di database tabella / colonna per il controllo form html
-
21-09-2019 - |
Domanda
Sto lavorando su un programma php che richiede javascript ogni controllo di modulo. Una volta che l'evento onblur si svolge il valore verrà automaticamente inviato al server per aggiornare il database.
Non ho forse 50 i controlli dei moduli si sviluppa su 5 schede in modo da non voglio hardcode le informazioni sul file php.
ho potuto cooptare un'idea da HTML5 e di crearne nuovi proprietà di questo come
data-table='user' data-column='firstname'
per ogni elemento, e quindi JavaScript si potrebbero tirare fuori quei valori e li inviano al file php.
Non so se c'è un modo migliore per gestire la mappatura tra questi controlli di forma e le diverse tabelle / colonne?
Soluzione
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);
}
Altri suggerimenti
In realtà io credo che sia la migliore opzione che avete. Se si utilizza jQuery, si può fare qualcosa di simile:
$("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
});
});
mi piacerebbe utilizzare PHP per generare una struttura di dati mappatura dei controlli (si spera che hanno unici nomi / ID) alle informazioni db. Poi mi piacerebbe sputare questo fuori in JSON come javascript inline in.
Allora la vostra on_blur
attributi su tutti i vostri campi può essere lo stesso (o di ogni passata un ID univoco per il campo) e chiamare una funzione JavaScript che guarda in alto le informazioni db dalla struttura dati.