Avatar billede lmejding Nybegynder
30. april 2007 - 13:53 Der er 11 kommentarer og
1 løsning

Ændre tekst i link dynamisk

I mit cms system har jeg et link "Udsend nyhedsbrev". Når man klikker her kommer en popup og spørger om man er sikker.

Det tager noget tid for scriptet at udsende brevene. Jeg vil derfor gerne have det sådan at linket "Udsend nyhedsbrev" erstattes med ordlyden (uden link)"Nyhedsbreve sendes ..vent venligst" når man har svaret Ja i alert'en

Hvordan gør jeg?
Avatar billede roenving Novice
30. april 2007 - 14:03 #1
F.eks.

<div id="nyhedslink">
  <a href="#" onclick="return sendMail(this);">Udsend nyhedsbrev</a>
  <span id="sender" style="display:none;">Nyhedsbreve sendes ..vent venligst</span>
</div>

og så indbygger du i funktionen, der sender:

function sendMail(elm){
  if(confirm("Er du sikker?")){
    //Din kode, der sender

    var parElm = elm.parentNode;
    var altTxt = parElm.getElementsByTagName("span")[0];
    altTxt.style.display = "inline";
    elm.style.display = "none";
  }else return false;
}

-- og når afsendelsen er færdig fanger du med .gtElementById div'en, og med getElementsByTagName de to elementer, som du så bytter display-style på !-)
Avatar billede lmejding Nybegynder
30. april 2007 - 14:25 #2
perfekt - det virker - lige en lille ting mere
i det link indgår et id nummer, som fortæller databasen hvilket brev der skal sendes. Kan vi overføre det id fra linket til funktionen sådan at den url der kaldes hedder noget i retningen af mail_send.asp?id=37.
Værdien 37 kommer altså fra linket og er sat ind dynamisk af asp
Avatar billede lmejding Nybegynder
30. april 2007 - 14:34 #3
fandt selv ud af det:

<SCRIPT LANGUAGE="JavaScript">
function sendMail(elm){
  if(confirm("Du er ved at udsende nyhedsbrev til alle tilmeldte!")){
    document.location.href='mail_send.asp?ID='+elm;

    var parElm = elm.parentNode;
    var altTxt = parElm.getElementsByTagName("span")[0];
    altTxt.style.display = "inline";
    elm.style.display = "none";
  }else return false;
}

</SCRIPT>
<div id="nyhedslink">
  <a href="#" onclick="return sendMail(<%=brev("ID")%>);">Udsend nyhedsbrev</a>
  <span id="sender" style="display:none;">Nyhedsbreve sendes ..vent venligst</span>
</div>
Avatar billede roenving Novice
30. april 2007 - 14:34 #4
Det er ikke noget problem, men jeg forstår ikke helt, hvad du vil med at overføre det ?-)

  var link = elm.href;
/*Ved at læse href kan du få det direkte fra linket:
link = "mail_send.asp?id=37."
*/
Avatar billede lmejding Nybegynder
30. april 2007 - 14:37 #5
øhh - nej ikke alligevel - nu skrives teksten ikke mens den sender
Avatar billede roenving Novice
30. april 2007 - 14:38 #6
-- så dur resten ikke ...

-- og ved at sætte document.location reloades hele siden jo, og så er det ligegyldigt, at vise og skjule noget ...

-- men f.eks.

  <a href="mail_send.asp?id=37" onclick="return sendMail(this);">Udsend nyhedsbrev</a>

<script type="text/javascript">
function sendMail(elm){
  if(confirm("Du er ved at udsende nyhedsbrev til alle tilmeldte!")){
    document.location.href=elm.href;

    var parElm = elm.parentNode;
    var altTxt = parElm.getElementsByTagName("span")[0];
    altTxt.style.display = "inline";
    elm.style.display = "none";
    return false;
  }else return false;
}

</script>
Avatar billede lmejding Nybegynder
30. april 2007 - 14:38 #7
ok
det er fordi siden skrives dynamisk med flere breve på en liste. De identificeres af et id nummer sådan at mail sender scriptet ved hvilket brev der skal sendes...
Avatar billede roenving Novice
30. april 2007 - 14:39 #8
Hrm ...

  <a href="mail_send.asp?id=<%=brev("ID")%>" onclick="return sendMail(this);">Udsend nyhedsbrev</a>
Avatar billede lmejding Nybegynder
30. april 2007 - 14:45 #9
ja netop:
<SCRIPT LANGUAGE="JavaScript">
function sendMail(elm){
  if(confirm("Du er ved at udsende nyhedsbrev til alle tilmeldte!")){
  var link = elm.href;
    document.location.href=link;

    var parElm = elm.parentNode;
    var altTxt = parElm.getElementsByTagName("span")[0];
    altTxt.style.display = "inline";
    elm.style.display = "none";
  }else return false;
}


<div id="nyhedslink">
  <a href="mail_send.asp?id=<%=brev("ID")%>" onclick="return sendMail(this);">Udsend nyhedsbrev</a>
  <span id="sender" style="display:none;">Nyhedsbreve sendes ..vent venligst</span>
</div>
Avatar billede lmejding Nybegynder
30. april 2007 - 14:45 #10
smid svar

tak for hjælpen!
Avatar billede roenving Novice
30. april 2007 - 15:22 #11
Velbekomme '-)
Avatar billede roenving Novice
30. april 2007 - 15:53 #12
-- og tak for point ;~}
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