This may sound confusing however throughout various parts of my script i'm writing, I need to reference different parts of a form element. Parts like name, id, type and tagName. I tried writing a function that will extract whichever one i'm looking for with only what i have to give it. Say for example, I want the element's name and I have the id, or I want the ID and all I have is it's object reference (HTMLInputElement). I would like to feed this function any number of valid sources and let it give me back what I'm looking for. Here's the function I wrote, which doesn't work, but will maybe help you understand what I'm trying to do:
Code:
function thisForThat(trade,what,formName){
here = trade;
//get name
var name = "";
if(document.forms[formName].elements[trade]){
name = trade;
} else {
if($(trade).name){
name = $(trade).name;
}
if(trade.name != "" && !name){
name = trade.name;
}
if(document.forms[formName].elements[trade.name] && !name){
name = trade.name;
}
}
//get id
var id = "";
if($(trade)){
id = trade;
} else {
if(document.forms[formName].elements[trade]){
if(document.forms[formName].elements[trade].name != ""){
id = document.forms[formName].elements[trade].name;
}
}
if(trade.id && !id){
id = trade.id
}
}
if(!id){
id = name;
}
// get nameRef
var nameRef = "";
if(typeof trade != "undefined"){
if(trade.name){
nameRef = document.forms[formName].elementes[trade.name];
}
}
if($(trade) && !nameRef){
if($(trade).name != ""){
nameRef = document.forms[formName].elements[$(trade).name];
}
}
if(document.forms[formName].elements[trade] && !nameRef){
nameRef = document.forms[formName].elements[trade];
}
//get idRef
var idRef = "";
if(trade.id != ""){
idRef = $(trade.id);
}
if(document.forms[formName].elements[trade] && !idRef){
if(document.forms[formName].elements[trade].id != ""){
idRef = $(document.forms[formName].elements[trade].id);
}
}
if($(trade) && !idRef){
idRef = $(trade);
}
if(!idRef){
idRef = nameRef;
}
// get tagName
if(nameRef){
tagName = nameRef.tagName;
} else {
tagName = idRef.tagName;
}
//get type
if(nameRef){
if(nameRef.type != ""){
type = nameRef.type;
}
} else {
if(idRef.type != ""){
type = idRef.type;
}
}
if(what == "id"){
return id;
}
if(what == "name"){
return name;
}
if(what == "idRef"){
return idRef;
}
if(what == "nameRef"){
return nameRef;
}
if(what == "tagName"){
return tagName;
}
if(what == "type"){
return type;
}
}