Newsgroup: it.comp.lang.javascript
Titolo: Problema con netscape !!

Qualcuno può spiegarmi perchè questo codice non viene eseguito da netscape ?
function Invia_onclick()
var name1 = " ";
name1 = nome.value;   nome.value è il contenuto di una textbox
}
-- 
Posted from [212.131.189.125] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Raffaele Franzese wrote:

Ecco finalmente uno col mio stesso bug!!!!!
A me capita che se non skiacci il TAB o se non selezioni qualcos'altro col
mouse il bastardo NN non accetta le modifiche!!!
Soluzione: nessuno ha saputo rispondermi, ne' su questo NG ne' su quello
internazionale comp.lang.javascript
Fammi sapere se hai novita'
Grazie
Ciao

 }
Quando lo referenzi il form?
Prova:
function Invia_onclick()
var name1 = " ";
name1 = document.forms[0].nome.value;
}
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------

 mouse il bastardo NN non accetta le modifiche!!!
Nel caso non leggessi l'altra risposta: posta il codice del form.



Eccolo qui!
Questo e' contenuto in una window che appare al click su un link della finestra
principale:
function doSubmit(operation){
    var resp = false;
    var startTime = "";
    var endTime = "";
    var phoneNumber = "";
    startTime = document.forms[0].startTime.value;
    endTime = document.forms[0].endTime.value;
    phoneNumber = document.forms[0].phoneNumber.value;
alert(startTime);
........
}
ho provato con:
var startTime = document.forms[0].startTime.value;
poi con:
var startTime = document.editForm.startTime.value;
e infine con:
var startTime=" ";
startTime = document.editForm.startTime.value;
ma il risultato e' lo stesso: alert(startTime) mi mostra sempre lo stesso
valore.
Se il codice lo faccio girare da solo (senza la finestra principale),
magicamente funziona.
E' curioso, no?
Marcello

 magicamente funziona.
Appunto. Vorrei vedere TUTTO il codice, anche la parte HTML.
Comunque, come primo indizio, i nomi dei campi del form sono uguali alle 
variabili? Tanto per dire una fesseria: hai provato ad usare dei nomi di 
variabile diversi?
IE ad esempio s'incavola se gli fai uno scherzetto del genere...


 Ciao, Riccardo
Provo a cambiate i nomi delle variabili e ti faccio sapere.... non vorrei
che NN si inca**asse pure lui (e ke suscettibili questi browser!!!!)

Marcello wrote:

.... niente da fare.....

 
Lo posti il codice? E' la mia ultima offerta! :-)
Anche in mail se ti va, sono curioso di analizzarlo, anche se non credo di 
poterti aiutare molto non avendo Linux (sigh!)


 Ciao, Riccardo
Eccoti accontentato
Fammi sapere se riesci a capirci qualcosa.....
Grazie
Marcello
<html>
<head>
<title> Insert New Values </title>
<SCRIPT language="javascript">
function doMsg(number) {
    var msgs=new Array("ERROR. Initial Hour: Bad Format",
          "ERROR. Final Hour:Bad  Format",
          "ERROR. The Initial Hour must be less than the Final Hour",
          "ERROR. Phone Number: Bad  Format",
          "ERROR. The initial hour cannot be empty.",
          "ERROR. The final hour cannot be empty.",
          "ERROR. The phone number cannot be empty.",
          "WARNING. Are you sure you want to delete the selected line?",
          "Confirm the operation?");
    return window.confirm(msgs[number]);
}
/* transform a time information to the HH:MM format
*/
function formatTime(aTime){
    var hh = "";
    var mm = "";
        if(aTime.length == 5)
       //no need to transform
       return aTime;
    hh = aTime.substring(0, aTime.indexOf(":"));
    if (hh.length == 1) hh = "0".concat(hh);
    mm = aTime.substring(aTime.indexOf(":")+1,aTime.length);
    if(mm.length == 1) mm = "0".concat(mm);
//    window.confirm(hh+":"+mm);
    return hh.concat(":",mm);
}
function doSubmit(operation){
    var resp = false;
    var startT = "";
    var endT = "";
    var phoneN = "";
    startT = document.forms[0].startTime.value;
    endT = document.forms[0].endTime.value;
    phoneN = document.forms[0].phoneNumber.value;
// QUI E' IL PROBLEMA!!!!
    if(operation ==2) {
        if(doMsg(7)) {
            opener.document.table.buttonPressed.value=2;
            // submit the operation from the opener
            resp = true;
        }
    } else if(doCheck(startT, endT, phoneN) && doMsg(8)){
        opener.document.table.Initial.value = formatTime(startT)+":01";
        opener.document.table.Final.value = formatTime(endT)+":00";
        opener.document.table.Phone.value =  phoneN;
        resp = opener.checkValues();
    }
    if(resp == true) {
       opener.document.table.submit();
       close();
    }
}
function doCheck(initT, endT, phoneN){
   rexp3 = /\+?\d*$/          // regular expression for the phone number
   resp = true;               // return value
   var initDate = Date.parse("Jan,1 2000 "+initT);
   var endDate = Date.parse("Jan,1 2000 "+endT);
   var newPosition = 0;
//   window.confirm(isNaN(initDate));
   // checks the format of the initial time
   if(initT.length == 0) {
       doMsg(4);
       resp = false;
   } else if(isNaN(initDate) || (initDate < Date.parse("Jan,1 2000 00:00:00"))
|| (initDate > Date.parse("Jan,1 2000 24:00"))) {
       doMsg(0);
       resp = false;
   } else if(endT.length == 0) {
       doMsg(5);
       resp = false;
   } else if(isNaN(endDate) ||(endDate < Date.parse("Jan,1 2000 00:00:00")) ||
(endDate > Date.parse("Jan,1 2000 24:00"))) {   // checks the format of the
final time
       doMsg(1);
       resp = false;
   } else if(initDate == endDate) {
       doMsg(2);
       resp = false;
   } else if(phoneN.length == 0) {
       doMsg(6);
       resp = false;
   } else if((!rexp3.test(phoneN)) || (phoneN.length <4) || (phoneN.length >
20)) {
       doMsg(3);
       resp=false;
   }
   return resp;
}
function doLoad(){
    document.editForm.startTime.value=opener.document.table.Initial.value;
    document.editForm.endTime.value=opener.document.table.Final.value;
    document.editForm.phoneNumber.value=opener.document.table.Phone.value;
    opener.document.service.editWindow.value=1;
    document.editForm.startTime.focus();
}
function showDel(){
    document.write("<td align=right class=ROW0>");
    document.write("<spacer type=vertical size=2>");
    document.write('<a href="javascript:doSubmit(2)"class=LINKMENU>
Delete...</a>');
    document.write("</td>");
}
function doClose(){
    opener.document.service.editWindow.value=0;
    close();
}
</script>
<STYLE TYPE="text/javascript">
<!-- styles for table items -->
   classes.HEADER.td.color="steelblue";
//   classes.ROW0.td.backgroundColor="white";
   classes.ROW1.td.backgroundColor="steelblue";
   classes.ROW0.td.color="steelblue";
   classes.ROW1.td.color="white";
   classes.LINK.a.textDecoration="none";
   classes.LINK.a.color="white";
   classes.LINKMENU.a.textDecoration="none";
   classes.LINKMENU.a.color="steelblue";
</STYLE>
</head>
<body bgcolor="#FFFFFF" background = "./images/base.jpg" onload="doLoad()"
onUnload="doClose()">
<form name="editForm">
<spacer type=vertical size=80>
<table border=0 cellpadding=0 cellspacing=0 align=center width=400>
<tr>
<td class=HEADER><font size=7> Call Routing...</font> </td>
</tr>
<tr>
<td class=ROW1 align="right">Start Time:</td><td class=ROW1>
<input type=text name="startTime" value="" size=5 maxlength=5  tabindex=1 >
</td>
</tr>
<tr>
<td class=ROW1 align="right">End Time:</td><td class=ROW1>
<input type=text name="endTime" value="" size=5 maxlength=5 tabindex=2>
</td>
</tr>
<tr>
<td class=ROW1 align="right">Phone Number:</td><td class=ROW1>
<input type=text name="phoneNumber" value="" size=20 maxlength=20 tabindex=3>
</td>
</tr>
<tr>
<td align=left class=ROW0>
<spacer type=vertical size=4>
<a href="javascript:doSubmit(99);" class=LINKMENU> OK </a><br>
<spacer type=vertical size=2>
<a href="javascript:doClose()"class=LINKMENU> Cancel </a><br>
</td>
<SCRIPT language=javascript>
    if(opener.document.table.buttonPressed.value != 1)
       showDel();
</SCRIPT>
</td>
</tr>
</table>
</form>
</body>
</html>

 Fammi sapere se riesci a capirci qualcosa.....
Ricevuto... anche per te... tempi non brevissimi, sorry :-)


 Fammi sapere se riesci a capirci qualcosa.....
Non vorrei diventare seccante, ma.... e la finestra principale?
Comunque ho trovato una funzione eseguita all'onLoad dipendente da qualche 
valore nella finestra opener:
function showDel(){
    document.write("<td align=right class=ROW0>");
    document.write("<spacer type=vertical size=2>");
    document.write('<a href="javascript:doSubmit(2)"class=LINKMENU> 
Delete...</a>');
    document.write("</td>");
}
direi che un "document.close()" non farebbe male, anzi spesso è quel che ci 
vuole...
function showDel(){
    document.write("<td align=right class=ROW0>");
    document.write("<spacer type=vertical size=2>");
    document.write('<a href="javascript:doSubmit(2)"class=LINKMENU> 
Delete...</a>');
    document.write("</td>");
    document.close();
}
Prova e dimmi, magari però mandami anche la finestra principale perché in 
effeti funziona benissimo anche a me (una volta evitata l'esecuzione del codice 
che dipende da questa).
