Newsgroup: it.comp.lang.javascript
Titolo: Aiuto SMS - Js

PROLOGO
Omnitel offre la possibilità agli abbonati di inviare
E-mail come messaggi SMS inserendo come indirizzo
il numero di telefono del destinatario.
*******************************************************
Volevo realizzare uno script per automatizzare l'invio,
in modo da scegliere i destinatari da una rubrica e
controllare il numero di caratteri del messaggio.
Altrimenti la comodità di scrivere con la tastiera del PC,
viene neutralizzata dalla seccatura di trovare e inserire
i numeri di cell e controllare che il messaggio non
superi i 120 caratteri
Giacchè capisco ben poco di javascript, ho tentato di utilizzare
script già esistenti. In pratica, il controllo carattere funziona,
la scelta dalla rubrica pure, ma non sono riuscito a far si che il
testo digitato nel form venga inserito direttamente nella e-mail.
Ho allegato un file html contenente lo script c'è qualche anima pia
che mi darebbe una mano?
Grazie
KEPHAS
************************************************************
File Html
************************************************************
<html>
<head>
<title>Servizi Interattivi Omnitel - E-mail to SMS</title>
</head>
<body bgcolor="#ffffff" vlink="#009966" link="#ff9c31" text="#000000">
<script>
<!-- Activate Cloaking Device
file://***************************************************************
//     Multiple Email Addresses From A Dropdown Menu
//         by Tim Wallace   (
tim...@essex1.com
)
//
// Copyright (C)1997  Timothy Wallace.  All Rights Reserved.
file://***************************************************************
// Identify browser - not all browsers handle email the same.
var browser=navigator.appName + " " + navigator.appVersion;
// Add a message to the body for Netscape 4.0
var Message="";
if(browser.substring(0, 12)=="Netscape 4.0")
   message="&body=This is for demonstration only... \n\n\n      NON SPEDIRE
QUESTO MESSAGGIO!";
// Used to display and load email address
var address="";
// Called by onChange in select tag
function setAddress()
   {
   // Sets myindex to index of selected menu item
   var myindex=document.email.address.selectedIndex;
   // If an item other than 0 has been chosen
   if (myindex>=1)
      {
      address=document.email.address.options[myindex].value;
      document.email.display.value=address;
      return true;
      }
   // If no item has been chosen
   else
      {
      document.email.display.value="Scegli un indirizzo dal menu...";
      return false;
      }
   }
// Called by View Mail Window button
function doMail()
   {
   // Checks if an address has been selected
   if(setAddress())
      window.location="mailto:"+address+"?subject=E-mail SMS"+Message;
   else
      {
      alert("\nBisogna selezionare prima una persona a cui spedire il
messaggio.");
      return false;
      }
   }
// Called by Reset The Form button - impelmented for Netscape 2
function resetForm()
   {
   document.email.address.options[0].selected = true;
   }
// Called by About Netscape 2 button
function aboutNet2()
   {
   alert("\nThe onChange used to display the address does not work right
with Netscape 2.\n\nWith this browser, make a selection and then click
within the frame to see the address.");
   }
// Called by View Source button - displays text file of source.
function viewSource()
   {
   alert("\nA text file with source will be loaded to the full
window.\n\nUse your browser BACK button to return to the examples.");
   top.window.location.href="js-mail1.txt";
   }
// Deactivate Cloaking -->
file://Aggiunta PPS
file://Controlla la lunghezza del testo
function CheckLen(Target) {
  StrLen = document.email.Message.value.length
  LenCampi = Target.value.length
  if (StrLen >= 120 ) {
    Target.value = Target.value.substring(0,LenCampi -1)
    CharsLeft = 0
  }
  else {
  CharsLeft = 120 - StrLen
  }
  document.email.CharsLeft.value = CharsLeft
 }
</script>
<center>
<form enctype="text/plain" name="email"
action="mailto:
psal...@tiscalinet.it
"
?subject="Form nel Messaggio" method="POST"
onSubmit=" return confirm('Grazie per averci scritto, verrete contattati al
più presto')">
<!form enctype="text/plain" NAME="email" method="POST" setAddress()">
<select NAME="address" SIZE="1" onChange="setAddress()" style="font-weight:
bold">
<option selected value="Seleziona qui il numero di Cellulare ">Seleziona qui
la persona a cui mandare un messaggio SMS</option>
<br>
<option value="+
393479...@sms.omnitel.it
">Pingo Pallino
........................ Cellulare Omnitel</option></select>
<br>
<input TYPE="text" NAME="display" SIZE="45"  VALUE="Qui apparira' l'
indirizzo di E-mail corrispondente"
style="text-align: center; font-weight: bold">
<br>
<textarea NAME="Message" SIZE="35,4" MAXLENGTH="120" COLS="40" ROWS="4"
onKeyup="CheckLen(this)" style="font-weight: bold"></textarea>
<br>
<input type="text" name="CharsLeft" value="120" size="3" style="font-weight:
bold">
<input value="Annulla" type="reset" style="font-weight: bold">
<input TYPE="button" VALUE="Invia il messaggio SMS" onClick="doMail()"
style="font-weight: bold">
</form>
</center>
</html>
************************************************************************
¯`·.¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸.·´¯
                Kephas
 
kep...@supereva.it
¯`·.¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸.·´¯


Così dovrebbe funzionare.
var Message="";
var address="";
function setAddress()   {
  var myindex=document.email.address.selectedIndex;
  if (myindex>=1){
    address=document.email.address.options[myindex].value;
    document.email.display.value=address;
    document.email.Message.focus();
    SiNo=true
  }else{
    document.email.display.value="Scegli un indirizzo dal menu...";
    document.email.Message.focus();
    SiNo=false
  }
}
function CheckLen(Target) {
  StrLen = document.email.Message.value.length
  LenCampi = Target.value.length
  if (StrLen >= 120 ) {
    Target.value = Target.value.substring(0,LenCampi -1)
    CharsLeft = 0
  }else{
    CharsLeft = 120 - StrLen
  }
  document.email.CharsLeft.value = CharsLeft
}
function InviaMessaggio() {
  setAddress();
  if(!SiNo) return;
  if(document.email.Message.value=="") return;
  var to = address;
  var cc = "";
  var bcc = "";
  var subject = "eMail to SMS";
  var body =document.email.Message.value
  var indirizzo = "mailto:" + to +
      "?cc=" + cc +
      "&bcc=" + bcc +
      "&subject=" + escape(subject) +
      "&body=" + escape(body)+
      "&encoding= text/plain"+
      "&metod=post";
       window.location = indirizzo;
}
</script>
<center>
<form  name="email">
<select NAME="address" SIZE="1" onChange="setAddress()"
style="font-weight:bold">
<option selected value="Seleziona qui il numero di Cellulare " >Seleziona
qui la persona a cui mandare un messaggio SMS</option>
<option value="+
393479...@sms.omnitel.it
">Pinco Pallino
....................... Cellulare Omnitel</option>
</select><br><br>
<input TYPE="text" NAME="display" SIZE="45"  VALUE="Qui apparira' l'
indirizzo di E-mail corrispondente" style="text-align: center; font-weight:
bold"><br><br>
<textarea NAME="Message" SIZE="35,4" MAXLENGTH="120" COLS="40" ROWS="4"
onKeydown="CheckLen(this)" style="font-weight: bold"></textarea><br><br>
<input type="text" name="CharsLeft" onfocus='blur()' value="120" size="3"
style="font-weight:bold">
<input value="Annulla" type="reset"
onclick='document.email.Message.focus();' style="font-weight: bold">
<input TYPE="button" VALUE="Invia il messaggio SMS"
onClick="InviaMessaggio()" style="font-weight: bold">
</form>
</center>
</body>
</html>
--
o------------------------------------------------o
            Gianfranco Carlotti
http://space.tin.it/io/gcarlott
 (SoloIE)
 
gica...@tin.it
o-------------------------------------------------------o
                                                   FERRARA
                                                                Italy
o-------------------------------------------------------------------------o

Complimenti, funziona perfettamente.
Hai risolto un problema che tentavo di
risolvere da giorni...
Grazie anche per la rapidità.
¯`·.¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸.·´¯
                Kephas
                 E-mail :
