Nel nostro luogo di lavoro utilizziamo una semplice libreria ajax per ottenere i dati della pagina e inviare modifiche al server. A volte è necessario modificare i valori dei campi del modulo. Sappiamo che i campi possono essere di qualsiasi tipo (menu a tendina, casella di testo, pulsanti radio, ecc.) E uno dei compiti più fastidiosi e noiosi è stato ricordare l'ID di ogni campo, in modo da poter effettuare la manipolazione. (L'attività può superare alcuni giorni, quindi ho dovuto conservare gli ID in un documento di testo). Così ho creato questo modello di progettazione per lavorare facilmente con i campi.
function FormFieldsManager() {
var FormMgr = {
txtGradeName: function (txt) {
if (txt) {
$('#txtGradeName').val(txt);
}
else {
return $('#txtGradeName').val();
}
},
txtGradeDesc: function (txt) {
if (txt) {
$('#txtGradeDesc').text(txt);
}
else {
return $('#txtGradeDesc').text();
}
},
ddStatus: function (txt) {
if (txt) {
if (isNaN(txt)) {
$("#ddStatus").val(txt);
}
else {
$("#ddStatus")[0].selectedIndex = txt;
}
}
else {
return $('#ddStatus :selected').val();//selected value: A
}
}
};
return FormMgr;
};
Per utilizzare questa funzione, chiamo semplicemente il metodo e potrei navigare tra i campi del modulo e ottenere il pieno intellisense di JavaScript.
var form = FormFieldsManager();
form.txtGradeName('Software Developer');//to set the field value
form.txtGradeName();//to get the field value
Quindi le mie domande sono,
- Quale modello di design specifico è questo?
- Quali suggerimenti di miglioramento puoi fornire?
P.S.: Mi piace chiamarlo jsPageObject.