Newsgroup: it.comp.lang.javascript
Titolo: mettere la @davanti ad un dato se mancante

partendo dalla premessa che non esistano tutti i nodi nel file XML vorrei
non avere errori
di parsing qualora non esistano i nodi o non esistano gli input nel form
come posso evitare di avere in console errori
Errore: xccc.getElementsByTagName(objs[x].name)[0] has no properties
File sorgente:
........./funzioni/tinymce/jscripts/tiny_mce/plugins/ajxopen/aopenf.htm
Riga: 181
function xmlhttpPost(idd) {
    var strURL;
    var content;
    var oggh;
    var setta;
    strURL = tinyMCE.documentBasePath + '/' +
tinyMCE.getParam('savajaxurl',null);
        // alert(strURL);
    var xmlHttpReq = false;
    var selfc = this;
    // Xhr per Mozilla/Safari/Ie7
    if (window.XMLHttpRequest) {
        xmlHttpReq = new XMLHttpRequest();
    }
    // per tutte le altre versioni di IE
    else if (window.ActiveXObject) {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpReq.open('POST', strURL, true);
    file://  document.write(strURL);
    xmlHttpReq.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
              // tinyMCE.selectedInstance.setHTML(xmlHttpReq.responseText);
               // alert(xmlHttpReq.responseText);
              xmlpp(xmlHttpReq.responseText);
         }
         else{
         // alert(self.xmlHttpReq.readyState);
            tinyMCE.selectedInstance.setHTML('LOADING');
         }
    }
  xmlHttpReq.send(getquerystring(idd));
   return true;
}
function getquerystring(idd){
    contentcd = '&plg=AJXOPEN' + '&id=' + idd;
     return contentcd;
}
function echi(idd){
 ddd = xmlhttpPost(idd);
 // setInterval('window.close()', 2000);
}
function cancelAction(){
  window.close();
}
function xmlpp(tex) {
if (window.ActiveXObject)
  {
  var doc=new ActiveXObject("Microsoft.XMLDOM");
  doc.async="false";
  doc.loadXML(tex);
  }
// code for Mozilla, Firefox, Opera, etc.
else
  {
  var parser=new DOMParser();
  var doc=parser.parseFromString(tex,"text/xml");
  }
var inst = tinyMCE.selectedInstance;
var formObj = inst.formElement.form;
var xccc=doc.documentElement;
/*  formObj.elements[4].value = xccc.childNodes[6].childNodes[0].nodeValue
// pubblic
  tinyMCE.selectedInstance.setHTML(xccc.childNodes[5].childNodes[0].nodeValu
e) // texto
  formObj.elements[1].value = xccc.childNodes[4].childNodes[0].nodeValue  //
titolo
  formObj.elements[2].selectedIndex =
xccc.childNodes[3].childNodes[0].nodeValue // ar
  formObj.elements[3].selectedIndex =
xccc.childNodes[2].childNodes[0].nodeValue // tx
                 file://  xccc.childNodes[1].childNodes[0].nodeValue // RA
qui c'e' il problema degli oggetti non definiti:                 */
 for(var x=0,objs=formObj.elements;x<objs.length;x++){
  switch(objs[x].tagName){
          case "INPUT":
                 formObj.elements[x].value =
xccc.getElementsByTagName(objs[x].name)[0].firstChild.nodeValue;
          break;
          case "SELECT":
                formObj.elements[x].selectedIndex =
xccc.getElementsByTagName(objs[x].name)[0].firstChild.nodeValue;
          break;
          case "CHECKBOX":
          break;
          case "RADIO":
          break;
  }
         tinyMCE.selectedInstance.setHTML(xccc.getElementsByTagName('texto')
[0].firstChild.nodeValue);
 }
return true;
}

 ........./funzioni/tinymce/jscripts/tiny_mce/plugins/ajxopen/aopenf.htm
if(xccc.getElementsByTagName(...).length>0) ...
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.