Newsgroup: it.comp.lang.javascript
Titolo: domanda da principiante

*** post for free via your newsreader at 
post.newsfeeds.com
 ***
ciao a tutti
il mio prb è questo:
ho un semplice script che sulla modifica all'interno di una textarea
verifica quello che ho inserito, se in quello che scrivo faccio anche
invio per andare a capo la funzione mi da errore "costante stringa
senza terminazione".
se in quello che scrivo non ci sono caratteri di 'a capo' tutto
aposto.
Non riesco a capire se il problema è il line feed o il carriage return
o qualcosa d'altro.
lo script è questo:
<textarea name="_1" rows="15" cols="30"
onkeyup="cell_change(this)"></textarea>
function cell_change(obj) {
  var s='';
  btn_update.disabled=false;
  btn_update_clsid.disabled=false;
  s='p_month.month.' + 
obj.name
 + '="' + obj.value +'"';
  eval(s);
}
grazie mille per l'aiuto
ilbric
  **** Post for FREE via your newsreader at 
post.newsfeeds.com
 ****
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
*** Newsfeeds.com - The #1 Usenet Newsgroup Service on The Planet! ***
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
http://www.newsfeeds.com
       |         
http://www.newsfeeds.com
                                 |
* Anonymous posting server!      | * Totally Uncensored!
* SUPER Servers!                 | * Over 80,000 Newsgroups!
* BINARIES ONLY Servers!         | * 16 seperate Newsgroup Servers!
* SPAM FILTERED Server!          | * Instant access!
* ADULT ONLY Server!             | * Multiple OC 3's and OC 12's!
* MP3 ONLY Server!               | * 99% Article Completion!
* MULTIMEDIA ONLY Server!        | * Months of Retention!
* 7 UNCENSORED Newsgroup Servers | * Lightning FAST downloads!
                                 |
 
http://www.newsfeeds.com
       |         
http://www.newsfeeds.com
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        **** Point your newsreader to 
post.newsfeeds.com
 ****
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 

A me da errore perche'  *p_month.month* non e' definito, ovviamente :-)
se posti un po' di codice forse si puo' capire il tuo problema.
Saluti, Paolo
<ilbric> ha scritto nel messaggio
news:8c4jvss1p6saetk1i...@4ax.com...



allora il tutto è un po' complesso perchè fa parte di un applicativo
basato su SOAP (simple object access protocol).
p_month è una variabile che viene valorizzata come oggetto tramite un
documento xml creato a run-time dopo aver richiesto una serie di dati
tramite una pagina asp ad una dll tramite DCOM.
se togli p_month il risultato non cambia, l'eval di una stringa
contenente il carattere di 'a capo' genera sempre l'errore "costante
string senza terminazione".
ho provato così:
function cell_change(obj) {
  var s='';
  btn_update.disabled=false;
  btn_update_clsid.disabled=false;
  //s='p_month.month.' + 
obj.name
 + '="' + obj.value +'"';
	s= 
obj.name
 + '="' + obj.value +'"';  
  eval(s);
}
<textarea name="_1" rows="15" cols="30"
onkeyup="cell_change(this)"></textarea>
io non ho sufficiente esperienza in javascript per capire se sto
scrivendo stronz..... o se il prb è risolvibile in altro modo, magari
intercettando i tasti premuti e sostituendo i caratteri ascii
incriminati.
se riesci a provare questa porzione e dirmi se ci sono errori mi
faresti un grosso favore.
ciao e grazie.


 scrivendo stronz..... o se il prb č risolvibile in altro modo, magari


eval('p_month.month.' + 
obj.name
 + '=obj.value');
grande! funziona a meraviglia, ora però il prb rimane in un altro
punto e la faccenda è più complessa, in una funzione parserizzo il doc
xml e lo faccio diventare il famoso oggetto p_month, come faccio?!?
in questo caso non posso fare a meno di creare una stringa (almeno
penso) e non so come ovviare al solito errore.
posto il codice magari ti viene in mente un altro colpo di genio.
for (i=0; i < oMethod.childNodes.length; i++) {
                node = oMethod.childNodes[i];
                s=s+'r.'+node.nodeName+' = new Object();\n';
                // To do: Check for attributes and create the object
members...
                if (node.childNodes.length != 0) {
 
                    for (j=0; j < node.childNodes.length; j++) {
                        cnode = node.childNodes[j];
                        s = s + 'r.' + node.nodeName
+'.'+cnode.nodeName+'="'+cnode.text+'";\n';
                    }
                }
            }
			//alert(s);
 
            eval(s);
            return r;
è solo un frammento, se non ti basta ti posto tutta la routine.
grazie mille
ilbric
  **** Post for FREE via your newsreader at 
post.newsfeeds.com
 ****


 file://alert(s);



eccolo!
function cmSOAP(sMethod,iRetType) {
    var httpObj = new ActiveXObject("Microsoft.XMLHTTP");
    var s = "";
    var sSOAPAction = cmSOAPURI + "#" + sMethod;
    var argc=0;
    var element_tag = "";
    var element_body = "";
    httpObj.Open("POST", cmSOAPListener, false, "", "");
    httpObj.setRequestHeader("SOAPAction", sSOAPAction);
    httpObj.setRequestHeader("Content-Type","text/xml");
 
    // Build the SOAP message
    s=  '<?xml version="1.0"?>';
    s=s+'<SOAP-ENV:Envelope
xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope
">';
    s=s+'<SOAP-ENV:Body>';
    s=s+'<m:' + sMethod +' xmlns:m='+'"'+cmSOAPURI+'">';
 
    // Traverse the arguments we passed in; even numbered arguments
are element tags
    // whereas odd numbered arguments are element contents (body)...
    if (arguments.length == 3)  
        s=s+arguments[2];
    else
      for (argc=2; argc < arguments.length; argc++) {
        if (argc % 2 == 0) 
        {   element_tag=arguments[argc]; 
            s=s+'<' + element_tag + '>'; 
        }
        else { 
            element_body=arguments[argc]; 
            s=s+element_body + '</' + element_tag + '>'; 
        }
      }
    s=s+'</m:' + sMethod +'>';
    s=s+'</SOAP-ENV:Body>';
    s=s+'</SOAP-ENV:Envelope>';
    alert("To Server: " + s);
    httpObj.Send (s);
    alert("From Server: " + httpObj.ResponseXML.xml);
 
    // Simple error checking...
    // ...if something went wrong, give the user a clue
    if (httpObj.ResponseXML.xml == "")
      alert(httpObj.ResponseText);
    else
    {
      // Process the SOAP response
      switch (iRetType) {
        case cmSOAPrtXML: return httpObj.ResponseXML.xml;
        case cmSOAPrtXMLDOM: return httpObj.ResponseXML;
        case cmSOAPrtObject : {
            var SOAPEnvelope = httpObj.ResponseXML;
            var oBody        =
SOAPEnvelope.selectSingleNode("//SOAP-ENV:Body");
            var oMethod      = oBody.firstChild;
            var s="";
            var r = new Object();
            var node,cnode;
            for (i=0; i < oMethod.childNodes.length; i++) {
                node = oMethod.childNodes[i];
                s=s+'r.'+node.nodeName+' = new Object();\n';
                // To do: Check for attributes and create the object
members...
                if (node.childNodes.length != 0) {
 
                    for (j=0; j < node.childNodes.length; j++) {
                        cnode = node.childNodes[j];
                        s = s + 'r.' + node.nodeName
+'.'+cnode.nodeName+'="'+cnode.text+'";\n';
                    }
                }
            }
			//alert(s);
			s = s + '\0';
            eval(s);
            return r;


 file://alert(s);

[]

Saluti, Paolo
ciao ilbric


 poi ci sono tutta una serie di siti, se ti interessano te li mando.
Certamente.
Saluti, Paolo