Il modo migliore per tenere traccia di database tabella / colonna per il controllo form html

StackOverflow https://stackoverflow.com/questions/1382193

  •  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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top