Avatar billede rastaman Nybegynder
10. december 2001 - 15:58 Der er 10 kommentarer og
1 løsning

SMS-sender

Halløjtaler

Jeg har lige et spørgsmål angående om at få min sms-sender til at tælle tegnene når man skriver en besked. Jeg bruger nedenstående kode for at kunne sende sms fra min hjemmeside. Er der nogen som kan fortælle mig om man kan lave sådan en tæller ?

<FORM ACTION=\"http://www.wservice.dk/wservice-dk/sms/default.asp?id=487\" METHOD=\"POST\">
Afsender:<BR>
<INPUT TYPE=\"text\" NAME=\"afsender\"><BR>
Modtager:<BR>
<INPUT TYPE=\"text\" NAME=\"modtager\"><BR>
Besked:<BR>
<TEXTAREA NAME=\"besked\"></TEXTAREA><BR>
<INPUT TYPE=\"submit\" VALUE=\"Send SMS\">
</FORM>
Avatar billede wzglobal.com Nybegynder
10. december 2001 - 16:01 #1
Du skal bruge enten ASP eller PHP til at programmere en sms sender ! Se : www.netcoders hvor du kan finde en sms-sender :]
Avatar billede gimmy Nybegynder
10. december 2001 - 16:09 #2
wzglobal.com: og det _skal_ man i hvert fald ikke! - du kan da snildt benytte andre scripts, eks. perl/cgi :)
Avatar billede waldowolf Nybegynder
10. december 2001 - 16:14 #3
Nu søger han jo så bare et javascript som tæller tegnene i det textarea ;)

Hvad med JSP :D
Avatar billede ras2000 Nybegynder
10. december 2001 - 16:23 #4
Jamen det er da ligegyldigt i dette tilfælde, der er jo blabla....asp?id=487 der sender. Han kan da sagtens tælle tegnene. Du kan gøre det således: i stedet for
<TEXTAREA NAME=\"besked\"></TEXTAREA><BR>
kan du have
<TEXTAREA NAME=\"besked\" onblur=\"alert(this.value.length)\"></TEXTAREA><BR>
Så kommer der en irriterende alert halløjsa op som fortæller dig hvor mange tegn der er.
Avatar billede rastaman Nybegynder
10. december 2001 - 17:29 #5
Jeg leder mest efter hvad ras2000 foreslår, men kan man ikke lave en lille \"textarea\" (det ved jeg ikke om det hedder i dette henseende\" som starter med value 180 og tæller en ned ved hvert tegn, mens man skriver ?
Avatar billede fidusen Nybegynder
10. december 2001 - 17:59 #6
Sådan kunne det se ud:

<HTML>
<HEAD>
<TITLE>SMS</TITLE>
<META content=\"text/html; charset=windows-1252\" http-equiv=Content-Type>

<!---------------- HEAD SCRIPTS START ----------------->

<SCRIPT language=\"JavaScript\">
<!--

// max length of messages
MAXLENGTH = 135

// returns true and submits if the form is valid, returns false otherwise.
function validate() {

  theForm = document.forms[0]

  // Validate telephone number

  tel = theForm.nr.value
  for( i=0; i<tel.length; i++ ) {
    ch = tel.charAt(i)
    // valid characters are digits ...
    if( (ch < \'0\') || (ch > \'9\') ) {
        alert( \'Telefonnummeret må kun bestå af cifre.\' )
        return false
    }
  }

  if( tel.length != 8 ) {
    alert( \'Telefonnummeret skal indeholde netop otte cifre.\' )
    return false
  }

  // is it a mobile phone?
  jmb = tel.substring(0,2)
  if( ((jmb >= 30) || (jmb < 20)) && (jmb != 40) && (jmb != 41)  && (jmb != 72) ) {
    alert( \'Der kan kun sendes SMS-beskeder til mobiltelefoner. \' +
          \'Telefonnummeret skal derfor begynde med 2, 40, 41 eller 72\' )
    return false
  }

  // Validate length of message
  len = messageLength( theForm )
  if( len > MAXLENGTH ) {
    alert( \'Beskeden er for lang. Den er \' + len +
          \' tegn lang. Den maksimalt tilladte længde er \' + MAXLENGTH +
          \' tegn.\' )
    return false
  }

  if( theForm.tekst.value.length == 0 ) {
    alert( \'Beskedfeltet skal udfyldes.\' )
    return false
  }

  theForm.submit()
  return true
}


function validateAndSubmit() {
  doSubmit = validate()
  if( doSubmit ) {
    document.forms[0].submit()
    return true
  }
  return false
}

// Calculate the message length
function messageLength( theForm ) {
  ml = theForm.tekst.value.length
  sl = theForm.afs.value.length
  if ( sl != -1 ){
    ml += sl + 7
  }
  return ml
}

function updateCharsLeft( theForm ) {
  charsLeft = MAXLENGTH - messageLength( theForm )
  theForm.charsLeft.value = charsLeft
}

//-->
</SCRIPT>

<!---------------- HEAD SCRIPTS SLUT  ----------------->

</HEAD>
<BODY>

<FORM  method=\"post\" action=\"\" onsubmit=\"return validate()\">
<TABLE border=\"1\" cellpadding=\"3\" cellspacing=\"0\">
<TR>
<TD>Modtager:</TD>
<TD><INPUT maxlength=\"8\" size=\"8\" name=\"nr\"></TD>
</TR>
<TR>
<TD>Afsender:</TD>
<TD><INPUT name=\"afs\" size=\"30\" onchange=updateCharsLeft(this.form) onkeypress=updateCharsLeft(this.form) onkeyup=updateCharsLeft(this.form)></TD>
</TR>
<TR>
<TD valign=\"top\">Besked:</TD>
<TD><TEXTAREA rows=\"6\" cols=\"25\" maxlength=\"120\" wrap=\"virtual\" name=\"tekst\" onchange=updateCharsLeft(this.form) onkeypress=updateCharsLeft(this.form) onkeyup=updateCharsLeft(this.form)></TEXTAREA></TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD align=\"middle\">Du har <INPUT name=\"charsLeft\" onfocus=blur() size=3> tegn tilbage</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD align=\"middle\">
<INPUT type=\"button\" onclick=\"return validateAndSubmit()\" value=\"Send besked\">
</TD>
</TR>
</TABLE>
</FORM>

</BODY>
</HTML>

INPUT-felternes navne:
afsender -> afs
modtager -> nr
besked -> tekst

Man skal ændre inde i javascriptet, hvis man ændrer INPUT-navnene.

Skriv det CGI/PERL/ASP/PHP script, der skal behandle selve SMS\'en i <FORM target=\"\">
Husk at INPUT-felternes navne skal stemme overens med dem, target-siden regner med at modtage.

Hvis du ikke kan ændre dette, kan jeg godt gøre det.

- FiDuSeN -
Avatar billede fidusen Nybegynder
10. december 2001 - 18:03 #7
PS:
1) META-koden er lige gyldig for scriptet...
2) Den skulle have været
<META http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
Avatar billede fidusen Nybegynder
10. december 2001 - 18:09 #8
Erstat alle align=\"middle\" med align=\"center\".
Avatar billede ras2000 Nybegynder
10. december 2001 - 18:09 #9
Det behøver ikke være så stort.
<html>
<head>
<script type=\"text/javascript\">
function tjek(n){
    if (n>=180) {
        alert(\'nu har du tastet 180 tegn\');
    }
}
</script>
</head>
<body>
<FORM ACTION=\"http://www.wservice.dk/wservice-dk/sms/default.asp?id=487\" METHOD=\"POST\">
Afsender:<BR>
<INPUT TYPE=\"text\" NAME=\"afsender\"><BR>
Modtager:<BR>
<INPUT TYPE=\"text\" NAME=\"modtager\"><BR>
Besked:<BR>
<TEXTAREA NAME=\"besked\" onkeydown=\"tjek(this.value.length)\"></TEXTAREA><BR>
<INPUT TYPE=\"submit\" VALUE=\"Send SMS\">
</FORM> 
</body>
</html>
Avatar billede fidusen Nybegynder
10. december 2001 - 18:11 #10
Det kommer an på hvor mange \'features\' man vil have med :o)
Avatar billede ras2000 Nybegynder
10. december 2001 - 18:14 #11
Her er en der tæller ned som jeg lige så du bad om.
<html>
<head>
<script type=\"text/javascript\">
function tjek(n){
    document.formen.taeller.value = 180 - n;
    if (n > 180) alert(\'du har overskredet de 180 tegn\');
}
</script>
</head>
<body>
<FORM ACTION=\"http://www.wservice.dk/wservice-dk/sms/default.asp?id=487\" METHOD=\"POST\" name=\"formen\">
Afsender:<BR>
<INPUT TYPE=\"text\" NAME=\"afsender\"><BR>
Modtager:<BR>
<INPUT TYPE=\"text\" NAME=\"modtager\"><BR>
Besked:<BR>
<TEXTAREA NAME=\"besked\" onkeydown=\"tjek(this.value.length)\"></TEXTAREA><BR>
<input type=\"text\" name=\"taeller\" value=\"180\">
<INPUT TYPE=\"submit\" VALUE=\"Send SMS\">
</FORM> 
</body>
</html>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester